实验室服务器被黑记(下)

  本来这篇文章写的差不多了,后来一直忙,存成草稿没有发,直到最近才想起这回事来。简单分析了一下被植入的脚本,才学疏浅,有误的地方请同学们多指教。

  让我们先来看一下植入脚本的文件结构

root@delleon:~/tmp# find . -printf '%y %p\n'
d .
d ./conect1
f ./conect1/autorun
f ./conect1/run
f ./conect1/bash
f ./conect1/LinkEvents
f ./conect1/start
f ./conect1/inst
d ./conect1/r
f ./conect1/r/raway.e
f ./conect1/r/rnicks.e
f ./conect1/r/rversions.e
f ./conect1/r/rkicks.e
f ./conect1/r/rsignoff.e
f ./conect1/r/rtsay.e
f ./conect1/r/rpickup.e
f ./conect1/r/rsay.e
f ./conect1/r/rinsult.e
d ./conect2
f ./conect2/m.pid
f ./conect2/autorun
f ./conect2/m.lev
f ./conect2/run
f ./conect2/alongi.seen
f ./conect2/.192.168.1.98.user.swp
f ./conect2/vhosts
f ./conect2/bash
f ./conect2/m.set
f ./conect2/LinkEvents
f ./conect2/xey.seen
f ./conect2/cron.d
f ./conect2/start
f ./conect2/m.ses
f ./conect2/inst
f ./conect2/update
f ./conect2/192.168.1.98.user
f ./conect2/192.168.1.98.user2
f ./conect2/mech.dir
d ./conect2/r
f ./conect2/r/raway.e
f ./conect2/r/rnicks.e
f ./conect2/r/rversions.e
f ./conect2/r/rkicks.e
f ./conect2/r/rsignoff.e
f ./conect2/r/rtsay.e
f ./conect2/r/rpickup.e
f ./conect2/r/rsay.e
f ./conect2/r/rinsult.e
d ./conect3
f ./conect3/autorun
f ./conect3/run
f ./conect3/bash
f ./conect3/LinkEvents
f ./conect3/start
f ./conect3/inst
d ./conect3/r
f ./conect3/r/raway.e
f ./conect3/r/rnicks.e
f ./conect3/r/rversions.e
f ./conect3/r/rkicks.e
f ./conect3/r/rsignoff.e
f ./conect3/r/rtsay.e
f ./conect3/r/rpickup.e
f ./conect3/r/rsay.e
f ./conect3/r/rinsult.e

实验室服务器被黑记(上)

  早晨上班一到实验室,weekface告诉我说实验室的那台服务器貌似出问题了。他之前写过一个crontab脚本来每天执行一次备份任务,结果今天上去一查,已经不执行好久了,然后查crontab -l,他的那句任务竟然消失不见了,取而代之的指向了一个莫名其妙的脚本。

  我立刻上去看,因为从没遇到这种情况,首先想到的会不会是实验室有同学上来动过,于是问了一下,房间里知道root密码的一共就四个同学,依次询问都说没有动。一边问着,一边看那个脚本的内容,立刻懵了,里面是一些很难阅读的shell命令,这才意识到不妙,出事了。然后查当前在线用户,结果who命令竟然返回的是空!接着last,我靠last也被替换了。赶紧去拔了网线,已经很明显了,我们服务器被黑了。

  接下来一步一步去查找蛛丝马迹。who、last命令已经直接被替换了,root用户的.bash_history已经被我们这几天的新操作给覆盖掉,/var/log/secure也被清空,很干净嘛。然后看crontab修改记录,时间是Jun ...... 

Sprint HTC Hero 2.1 Release成功提权到root

  从Sprint 5月19号发布官方2.1升级,到今天获取root,一共用了整整半个月的时间,期间我和其他朋友尝试过各种方法来试图获取都失败,怪不得Sprint发布2.1时老是跳票,其实绝大多数时间都是去给kernel打补丁去了。期间跟regaw讨论过好几次,都进展不佳,要找kernel版本为2.6.29的提权漏洞并且最好是5月份以后泄露的,这真是一件困难的事情。

  Regaw最后使用的办法是通过修改matt写的一个EVO 4G提权漏洞进而使帮助CDMA Hero也获取了提权。感谢大家的努力!

 ...... 

GTK 2.18.3与Linphone 3.2.1编译记录

  实验室有一个SIP相关的项目,客户端选用linphone。因为涉及到音频视频还有图形界面,所以依赖的包很杂,特别是GTK的编译安装。

1.环境:Fedora 7,内核版本2.6.21

2.需要编译的linphone版本3.2.1

3.GTK 2.18.3与Linphone 3.2.1的依赖关系如下:

linphone3.2.1依赖

linphone3.2.1依赖

Linux中ADSL通过6to4自动穿隧连入IPv6

  前两天捣鼓了一个USB ADSL在VMWare虚拟机中Linux系统中的安装配置和拨号方法。目前青岛网通这里,如果是在Windows环境下,拨号后能够自动获取6to4自动穿隧方式的2002开头的IPv6地址,Linux下的获取需要手动配置一下,并不是很复杂。

  如果是Windows系统,那么通过ipconfig可以得到类似如下的信息。

C:\Documents and Settings\Administrator>ipconfig
Windows IP Configuration

PPP adapter AccessRunner DSL:
   Connection-specific DNS Suffix  . :
   IP Address. . . . . . . . . . . . : 123.235.169.32
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : 123.235.169.32

Tunnel adapter 6to4 Tunneling Pseudo-Interface:
   Connection-specific DNS Suffix  . :
   IP Address. . . . . . . . . . . . : 2002:7beb:a920::7beb:a920
   Default Gateway . . . . . . . . . : 2002:c058:6301::c058:6301

  其中IPv6地址中的7beb:a920正好对应动态IPv4的地址123.235.169.32,而IPv6网关地址中的c058:6301对应的是不变的192.88.99.1,这个192.88.99.1是一个特定的6to4中用于任意点传送的中继路由地址。需要做的就是记好这几个地址的规律。

  然后换到Linux中,配置好ADSL,拨号后连入IPv4网,ifconfig查询到新获得的动态IPv4地址,然后按照上面的规律自行将其转换到6to4方式下2002开头的IPv6地址。例如现在得到的是124.135.17.179,对应的6to4地址为2002:7c87:11b3::7c87:11b3。下面将手动添加6to4隧道和中继路由。

[root@leon ~]# ip tunnel add 6to4 mode sit remote any local 124.135.17.179
[root@leon ~]# ip link set dev 6to4 up
[root@leon ~]# ip addr add 2002:7c87:11b3::7c87:11b3/16 dev 6to4
[root@leon ~]# ip -6 route add ::/0 via ::192.88.99.1 dev 6to4 metric 1026

  添加完后通过ifconfig可以看到新多出的网卡6to4,同时ping6一下ipv6.google.com已经可以正常的显示结果。

[root@leon ~]# ifconfig
6to4      Link encap:IPv6-in-IPv4
          inet6 addr: 2002:7c87:11b3::7c87:11b3/16 Scope:Global
          inet6 addr: ::124.135.17.179/128 Scope:Compat
          UP RUNNING NOARP
 ...... 

USB ADSL在VMWare中Linux环境下拨号方法

  鉴于北京和山东网通已经提供原生ipv6服务(via newboysyb@newsmth提供了6to4方式的ipv6服务,不过家里的路由器和vmware目前根本就不支持ipv6穿透。为了将ipv6充分利用起来,打算在VMWare中的Linux环境下进行USB ADSL的拨号,这样就跨越了路由器的限制。很繁琐,研究了一个上午才搞定。

1.可行性分析

  网络环境:青岛网通ADSL
  硬件设备:大亚科技ADSL USB Modem,型号DB101-A(Conexant芯片)
  操作系统:VMWare Workstation 6.5.0虚拟机下的Fedora 10(内核版本2.6.27.5)

  整个过程之所以繁琐,最重要的原因是这个ADSL是USB接口的,要像学校里武汉电信ADSL使用的都是RJ-45接口从而system-independent也就舒服了。所以,首先设备必须被kernel所支持,幸运的是一般比较新的kernel都是没有问题的。然后需要检测一下自己的USB ADSL Modem是否被Conexant  AccessRunner芯片的Linux驱动所支持。简单方法如下图,在Windows的设备管理器中查询该设备的16进制Vendor ID和Product ID,然后看是否在这个网页http://accessrunner.sourceforge.net/modems.shtml所示的列表中。如若不然,奉劝早点收手,后面一些都是白费功夫。

2.让USB ADSL穿透VMWare

  这一步的目的是屏蔽掉VMWare这层马甲的影响,让Linux客户机能够“直接”存取这个USB ADSL设备。方法是在虚拟机客户端的设置页中,将USB Controller的Connections三个选项都打勾,然后重新启动Linux客户机,在VMWare窗口的右下角应该就出现了新的USB设备,指向它时会出现“Conexant ADSL USB Modem”字样的提示,然后点击它选择Connect (Disconnect from Host),这样主机便会失去设备连接,转而让Linux客户机获取。

在CPH主机上尝试SSH

  自从从九州未来科技搬家到CPH后,一直对主机的访问速度和质量非常满意,特别是还提供了对SSH登录的支持,更加让我感到非常自豪。

  可是在实际使用过程中,有时候却让人十分恼火。最开始拿到ssh账号时是考虑想把自己写的Gmail新邮件短信提醒的程序放到主机上来跑,可是上面curl和wget都没有,然后因为没有root权限,也安装不了。于是第一试告罢。后来我把程序放到unix-center提供的主机上去了。

  第二试是给自己的一个目录做软链接,ssh上去直接搞定。

 ...... 

fGmail 0.2版发布

  新版本特点:主要解决了明文存储Gmail账号信息和飞信账号信息而导致的不安全问题。可以真正的worry free。

  其实很好办,无非是通过shc来将shell脚本加密,生成二进制文件,就无法明文观察到密码了。有人会问,shc的加密真的那么可靠吗?一般来说是安全的,除非使用gdb等调试工具来获取源代码,这种安全级别对我们来说已经足够了。

  如同前一版本一样,fGmail的获取地址在这个Google Code的工程里面。欢迎试用。