This commit is contained in:
kayos@tcp.direct 2021-08-25 01:58:10 -07:00
parent c58356f07f
commit 7853acbbf5
3 changed files with 100 additions and 4 deletions

View File

@ -15,9 +15,9 @@ var ircFlood bool = true
var ircDebug uintptr = 0 //os.Stdout
var ircVersion string = "sh0rtbus 0.2 fun edition"
// Bot
var ircHome string = "#bees"
var ircHome string = "#tcpdirect"
var ircOwner string = "kayos"
var ircNick string = "sh0rtbus"
var ircNick string = "durnkb0t"
var ircUser string
var ircPass string // username:pasword defined in auth.text
// Proxy

96
cowrie.go Normal file
View File

@ -0,0 +1,96 @@
package main
import(
"syscall"
"os"
"bytes"
"fmt"
"io"
"strings"
"github.com/lrstanley/girc"
)
//func stainSelect(query string) {
// db, err = sql.Open("mysql","user:"+sqlUser+"@"+sqlHost+"("+sqlHost+":"+sqlPort+")/"+sqlDB)
// defer db.Close()
// if err != nil {
// fmt.Println("[SQL] Fatal error when opening the MySQL database: ", err.Error())
// }
// err = db.Ping()
// if err != nil {
// fmt.Println("[SQL] Fatal error when pinging the MySQL database: ", err.Error())
// }
//}
func Cowrie(c *girc.Client) error {
syscall.Mkfifo(cowPipe, 0600)
for {
// fmt.Println("[IPC] Opening named pipe for reading")
stdout, err := os.OpenFile(cowPipe, os.O_RDONLY, 0600)
var buff bytes.Buffer
if err != nil {
fmt.Println("[IPC] FATAL! Cannot open named pipe!")
return err
os.Exit(2)
}
io.Copy(&buff, stdout)
stdout.Close()
dataStr := buff.String()
if (cowVerbose == 1 && strings.Contains(dataStr, "CMD:")) {
fmt.Println("CMD detected!")
cowSlice := strings.Split(dataStr,"]")
cowPrefix := cowSlice[0]
cowString := strings.Split(cowPrefix, ")")
cowString = strings.Split(cowString[0], ")")
cowSession := cowString[0]
cowIPstr := strings.Split(cowPrefix,",")
cowIP := cowIPstr[0]
cowCmd := "["+cowIP+"]["+cowSession+"] " + cowSlice[1]
fmt.Println(cowCmd)
if !contains(cowSesh,cowSession) {
Phone(c,"(new) Retard alert! Attn:")
PhoneOwner(c,"Retard alert!")
Phone(c,cowPings)
Phone(c,"-----------------")
cowSesh = append(cowSesh,cowSession)
printSlice(cowSesh)
}
Phone(c,dataStr)
}
if cowVerbose == 2 {
fmt.Printf("[IPC] sending data to [IRC]: %s\n", dataStr)
Phone(c,dataStr)
}
}
}
func cowSay(c *girc.Client, str0 string, str1 string, str2 string) {
Phone(c," __,._{i} " + str0)
Phone(c," / _ \\ ")
if (cowVerbose == 0) {
Phone(c," | 6 \\ \\ {red}oo{c} ")
} else if cowVerbose == 1 {
Phone(c," | 6 \\ \\ {green}oo{c} ")
} else {
Phone(c," {yellow}REEE{c} | 6 \\ \\ {green}$${c} ")
}
Phone(c," \\___/ .|__|| ")
Phone(c," __,..=\"^ . , \" ,\\ ")
Phone(c,"<.__________________/ ")
Phone(c,"{white}" + str1)
if str2 != "0" {
Phone(c,"{white}" + str2)
}
}

View File

@ -170,7 +170,7 @@ func ircbot() {
}
})
client.Handlers.Add(girc.RPL_NAMREPLY, func(c *girc.Client, e girc.Event) {
/* client.Handlers.Add(girc.RPL_NAMREPLY, func(c *girc.Client, e girc.Event) {
reply := strings.Split(e.String(), " ")
if reply[5] != ircHome {
@ -183,7 +183,7 @@ func ircbot() {
ircBanner(c)
Phone(c,ircVersion)
}
})
})*/
client.Handlers.Add(girc.RPL_WHOISCHANNELS, func(c *girc.Client, e girc.Event) {
Phone(c,"RPL_WHOISCHANNELS:")