@@ -15,6 +15,7 @@ import (
15
15
"github.com/k8gege/LadonGo/port"
16
16
"github.com/k8gege/LadonGo/http"
17
17
"github.com/k8gege/LadonGo/smb"
18
+ "github.com/k8gege/LadonGo/nbt"
18
19
"github.com/k8gege/LadonGo/ftp"
19
20
"github.com/k8gege/LadonGo/ssh"
20
21
"github.com/k8gege/LadonGo/mysql"
@@ -25,8 +26,10 @@ import (
25
26
"github.com/k8gege/LadonGo/dcom"
26
27
"github.com/k8gege/LadonGo/exp"
27
28
"github.com/k8gege/LadonGo/dic"
29
+ "github.com/k8gege/LadonGo/mongodb"
28
30
//"github.com/k8gege/LadonGo/tcp"
29
31
"github.com/k8gege/LadonGo/redis"
32
+ "github.com/k8gege/LadonGo/routeros"
30
33
"github.com/fatih/color"
31
34
"strings"
32
35
"log"
@@ -101,6 +104,7 @@ func Detection() {
101
104
fmt .Println ("PortScan\t (Scan hosts open ports using TCP protocol)" )
102
105
fmt .Println ("TcpBanner\t (Scan hosts open ports using TCP protocol)" )
103
106
fmt .Println ("OxidScan \t (Using dcom Protocol enumeration network interfaces)" )
107
+ fmt .Println ("NbtInfo\t (Scan hosts open ports using NBT protocol)" )
104
108
}
105
109
106
110
func VulDetection () {
@@ -124,8 +128,10 @@ func BruteFor() {
124
128
fmt .Println ("MysqlScan \t (Using Mysql Protocol to Brute-For 3306 Port)" )
125
129
fmt .Println ("MssqlScan \t (Using Mssql Protocol to Brute-For 1433 Port)" )
126
130
fmt .Println ("OracleScan \t (Using Oracle Protocol to Brute-For 1521 Port)" )
131
+ fmt .Println ("MongodbScan \t (Using Mongodb Protocol to Brute-For 27017 Port)" )
127
132
fmt .Println ("WinrmScan \t (Using Winrm Protocol to Brute-For 5985 Port)" )
128
133
fmt .Println ("SqlplusScan \t (Using Oracle Sqlplus Brute-For 1521 Port)" )
134
+ fmt .Println ("RouterOSScan \t (Using RouterOS API Brute-For 8728 Port)" )
129
135
}
130
136
131
137
func RemoteExec () {
@@ -142,7 +148,7 @@ func Exploit() {
142
148
//} else{fmt.Println("\033[35m\nExploit:\033[0m")}
143
149
color .Magenta ("\n Exploit:" )
144
150
fmt .Println ("PhpStudyDoor\t (PhpStudy 2016 & 2018 BackDoor Exploit)" )
145
-
151
+ fmt . Println ( "CVE-2018-14847 \t (Export RouterOS Password 6.29 to 6.42)" )
146
152
}
147
153
148
154
func Noping () {
@@ -156,7 +162,7 @@ func Noping() {
156
162
}
157
163
158
164
var isicmp bool
159
- var ver = "3.6 "
165
+ var ver = "3.8 "
160
166
func incIP (ip net.IP ) {
161
167
for j := len (ip ) - 1 ; j >= 0 ; j -- {
162
168
ip [j ]++
@@ -251,6 +257,10 @@ func main() {
251
257
exp .PhpStudyDoorHelp ()
252
258
os .Exit (0 )
253
259
}
260
+ if SecPar == "CVE-2018-14847" {
261
+ exp .Cve2018_14847Help ()
262
+ os .Exit (0 )
263
+ }
254
264
if SecPar == "PHPSHELL" || SecPar == "PHPWEBSHELL" {
255
265
rexec .PhpShellHelp ()
256
266
os .Exit (0 )
@@ -285,6 +295,11 @@ func main() {
285
295
exp .PhpStudyDoorExp (os .Args [2 ],os .Args [3 ])
286
296
os .Exit (0 )
287
297
}
298
+
299
+ if SecPar == "CVE-2018-14847" {
300
+ exp .Cve2018_14847Exp (os .Args [2 ],os .Args [3 ])
301
+ os .Exit (0 )
302
+ }
288
303
} else if ParLen > 4 {
289
304
SecPar := strings .ToUpper (os .Args [1 ])
290
305
fmt .Println ("Load " + SecPar )
@@ -306,11 +321,18 @@ func main() {
306
321
//EndPar := os.Args[ParLen-1]
307
322
//Target := os.Args[ParLen-2]
308
323
fmt .Println ("Targe: " + Target )
324
+ //log.Println("Start...")
325
+ fmt .Println ("\n ScanStart: " + time .Now ().Format ("2006-01-02 03:04:05" ))
309
326
if ParLen == 3 {
310
327
fmt .Println ("Load " + EndPar )
328
+ ScanType := strings .ToUpper (EndPar )
329
+ if ScanType == "NBTINFO" {
330
+ nbt .Info (Target )
331
+ fmt .Println (" Finished: " + time .Now ().Format ("2006-01-02 03:04:05" ))
332
+ os .Exit (0 )
333
+ }
311
334
}
312
- //log.Println("Start...")
313
- fmt .Println ("\n ScanStart: " + time .Now ().Format ("2006-01-02 03:04:05" ))
335
+
314
336
ScanType := strings .ToUpper (EndPar )
315
337
if strings .Contains (Target , "/c" )|| strings .Contains (Target , "/C" ) {
316
338
CScan (ScanType ,Target )
@@ -324,6 +346,18 @@ func main() {
324
346
for _ , ip := range dic .TxtRead (Target ) {
325
347
LadonScan (ScanType ,ip )
326
348
}
349
+ } else if strings .ToUpper (Target )== strings .ToUpper ("ip24.txt" ) {
350
+ for _ , ip := range dic .TxtRead (Target ) {
351
+ fmt .Println ("\n C_Segment: " + ip )
352
+ fmt .Println ("=============================================" )
353
+ CScan (ScanType ,ip )
354
+ }
355
+ } else if strings .ToUpper (Target )== strings .ToUpper ("ip16.txt" ) {
356
+ for _ , ip := range dic .TxtRead (Target ) {
357
+ fmt .Println ("\n B_Segment: " + ip )
358
+ fmt .Println ("=============================================" )
359
+ BScan (ScanType ,ip )
360
+ }
327
361
} else if strings .ToUpper (Target )== strings .ToUpper ("url.txt" ) {
328
362
for _ , ip := range dic .TxtRead (Target ) {
329
363
LadonUrlScan (ScanType ,ip )
@@ -428,9 +462,9 @@ func AScan(ScanType string,Target string){
428
462
429
463
func LadonScan (ScanType string ,Target string ) {
430
464
if ScanType == "GETEXFQND" || ScanType == "FINDEXCHANGE" {
431
- vul .GetExFQND (Target )
432
- } else if ScanType == "CVE-2021-26855" {
433
- vul .CheckCVE_2021_26855 (Target )
465
+ // vul.GetExFQND(Target)
466
+ // } else if ScanType == "CVE-2021-26855" {
467
+ // vul.CheckCVE_2021_26855(Target)
434
468
} else if ScanType == "CVE-2021-21972" {
435
469
vul .CheckCVE_2021_21972 (Target )
436
470
} else if ScanType == "PINGSCAN" || ScanType == "PING" {
@@ -516,6 +550,10 @@ func LadonScan(ScanType string,Target string) {
516
550
smb .MS17010 (Target ,3 )
517
551
} else if ScanType == "SMBSCAN" {
518
552
smb .SmbScan (ScanType ,Target )
553
+ } else if ScanType == "NBTINFO" {
554
+ //nbt.Info(ScanType,Target)
555
+ //nbt.Info(Target)
556
+ //nbt.Info()
519
557
} else if ScanType == "FTPSCAN" {
520
558
ftp .FtpScan (ScanType ,Target )
521
559
} else if ScanType == "SMBGHOST" || ScanType == "CVE-2020-0796" {
@@ -526,14 +564,20 @@ func LadonScan(ScanType string,Target string) {
526
564
mysql .MysqlScan (ScanType ,Target )
527
565
} else if ScanType == "MSSQLSCAN" {
528
566
mssql .MssqlScan (ScanType ,Target )
567
+ } else if ScanType == "MONGODBSCAN" {
568
+ mgo .MongoScan (ScanType ,Target )
529
569
} else if ScanType == "ORACLESCAN" {
530
- // oracle.OracleScan(ScanType,Target)
570
+ oracle .OracleScan (ScanType ,Target )
531
571
} else if ScanType == "SQLPLUSSCAN" {
532
572
oracle .SqlPlusScan (ScanType ,Target )
533
573
} else if ScanType == "WINRMSCAN" {
534
574
winrm .WinrmScan (ScanType ,Target )
535
575
} else if ScanType == "REDISSCAN" {
536
576
redis .RedisNullScan (ScanType ,Target )
577
+ } else if ScanType == "ROUTEROSSCAN" {
578
+ routeros .RouterOSScan (ScanType ,Target )
579
+ } else if ScanType == "CVE-2018-14847" {
580
+ exp .Cve2018_14847Exp (Target ,"8291" )
537
581
} else if ScanType == "HTTPBASICSCAN" || ScanType == "BASICAUTHSCAN" || ScanType == "401SCAN" {
538
582
http .BasicAuthScan (ScanType ,"http://" + Target )
539
583
} else {
0 commit comments