# README
Goal Go Red-Team 工具类
文档可能更新不及时,具体使用可以看
tests
中的文件
基于该项目我写了:
-
GoRat 跨平台C2
-
PaperCache 不安全信息聚合阅读
-
Ghttp Http客户端
- Get/Post/Head..
- SetHeader
- Set/GetCookie
- Save To File
- Use Http/Socks5 Proxy
-
Gconvert 常用类型转化方法
- HostName/Domain To Ip
- Icmp Host Alive Check
- Tcp Port Status Check
- CIDR To Addres List
-
Gsensor 信息获取探针
- Fofa
- SecurityTrails
- shodan
- Bufferover
- Crt.sh
- ZoomEye
- 爱企查
- ksubdomain
- WappalyzerGo
-
Gproxy 反向socks5代理
- Reverse Socks5 Proxy
-
Gfile 常用文件操作
- Unzip
- CheckExist
- ReadFileToString
- WriteStringToFile
- GetFileList
-
GLogin 常用服务
- mysql
- postgres
- mssql
- ftp
- pop3
- smtp
Ghttp client
使用方法
发送Get请求
httpClient=Ghttp.http{}
httpClient.Get("https://baidu.com")
httpClient.Execute()
发送Post请求
httpClient=Ghttp.http{}
httpClient.Post("https://baidu.com","a=1&b=1")
httpClient.Execute()
httpClient=Ghttp.http{}
param:=url.Values{
"name":{"values"},
}
httpClient.Post("https://baidu.com",param)
httpClient.Execute()
开启Session 自动记录cookie
httpClient := Ghttp.New()
httpClient.Session()
httpClient.New("GET","https://www.baidu.com")
httpClient.Execute()
发送Post Json请求
httpClient=Ghttp.http{}
jsonData:=make(map[string]interface{})
jsonData["key"]="value"
jsonData["json2"]=make(map[string]interface{})
jsonData["json2"]["data"]="1234"
httpClient.Post("https://baidu.com",jsonData)
httpClient.Execute()
获取字符串返回值
responseText:=httpclient.Text()
log.Println(responseText)
获取Byte返回值
responseByte:=httpclient.Byte()
log.Println(responseByte)
获取StatusCode
code:=httpclient.StatusCode()
log.Println(code)
设置代理
httpClient.SetProxy("http://127.0.0.1:6152")
httpClient.SetProxy("socks5://ss:[email protected]:6153")
Gconvert 类型转化
var i = "1234567"
var f = "123456.2345"
var ff = 12345.6789
var ii = 1234567
log.Println(ii, Gconvert.Int2String(ii))
log.Println(ff, Gconvert.Int2String(ff))
log.Println(i, Gconvert.Str2Int(i))
log.Println(f, Gconvert.Str2Int(f))
log.Println(f, Gconvert.Str2Float(f))
log.Println(f, Gconvert.Str2Float64(f))
log.Println(i, Gconvert.Str2Float(i))
log.Println(i, Gconvert.Str2Float64(i))
log.Println(convert.Str2Url("1"))
log.Println("encode base64 ",Gconvert.B64Encode("12312312"))
log.Println("decode base64 ",Gconvert.B64Decode("324 d"))
log.Println("urlencode ",Gconvert.UrlEncode("324=1;sd;'123 d"))
log.Println("urldecode ",Gconvert.UrlDecode("%25%27%22"))
log.Println("rawurl ",Gconvert.RawDecode("%25%27%22"))
log.Println("raw encode ",Gconvert.RawEncode("324=1;sd;'123 d"))
输出
=== RUN TestConvert
2021/03/30 17:38:00 1234567 1234567
2021/03/30 17:38:00 12345.6789 12345.6789
2021/03/30 17:38:00 1234567 1234567
2021/03/30 17:38:00 [!] Str2Int Error: strconv.Atoi: parsing "123456.2345": invalid syntax
2021/03/30 17:38:00 123456.2345 0
2021/03/30 17:38:00 123456.2345 123456.234
2021/03/30 17:38:00 123456.2345 123456.2345
2021/03/30 17:38:00 1234567 1.234567e+06
2021/03/30 17:38:00 1234567 1.234567e+06
2021/03/30 17:38:00 1
2021/03/30 17:38:00 encode base64 MTIzMTIzMTI=
2021/03/30 17:38:00 [!] b64decode Error: illegal base64 data at input byte 3
2021/03/30 17:38:00 decode base64
2021/03/30 17:38:00 urlencode 324%3D1%3Bsd%3B%27123%20d
2021/03/30 17:38:00 urldecode %'"
2021/03/30 17:38:00 rawurl %'"
2021/03/30 17:38:00 raw encode 324%3D1%3Bsd%3B%27123%20d
--- PASS: TestConvert (0.00s)
```# Goal
## Gnet 网络相关
### TCP端口检测
```go
// 参数分别为 ip,端口,超时
// 返回bool
Gnet.TcpPortStatus("127.0.0.1", 80, 30)
Ping主机存活
// 返回bool 需要root权限
Gnet.PingHost("127.0.0.1")
CIDR生成IP列表
// 返回[]string
r := Gnet.GetIPList("192.168.1.1/24")
Gsensor 第三方API
Fofa
- 端口获取
- 子域名获取
- 同服获取
具体代码可看tests/sensor_test.go
SecurityTrails
- A记录历史解析
- 子域名获取
- 同服获取
具体代码可看tests/sensor_test.go
Shodan
- 端口获取
Bufferover
- 子域名获取 具体代码可看tests/sensor_test.go
Crt.sh
- 子域名获取
具体代码可看tests/sensor_test.go
Gproxy 反向Socks5代理
// 服务端运行
go Gproxy.ClientWait("8888") // 监听客户端端口,等待客户端链接
go Gproxy.ServerWait("8889") // 服务端端口,用户链接用于代理
// 客户端运行
Gproxy.RunProxy("127.0.0.1:8888")
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author