Wooyun + Ubuntu = Woobuntu

Woobuntu是基于Ubuntu系统的一款安全研究环境配置工具,可以自动安装并配置众多的安全工具与依赖环境,此外还针对中国用户的习惯进行了一些优化,可以为白帽子们提供更加优雅的桌面系统体验。Woobuntu完全开源免费,并且保留了Ubuntu的全部特性。

0x00 从kali说起


对于绝大多数白帽子而言,目前最好的渗透测试Linux系统是kali linux(之前的Backtrack Linux),我也一直在用Kali来进行各种工作。但是作为一个中国人,不得不说Kali用起来相当别扭,列举一下我在安装配置Kali过程中遇到过的问题:

  1. 安装时选择中文,安装完没有中文输入法,然后经常需要输入 cd 桌面
  2. 由于是root用户登录,没法用chrome,没法用VLC (去google十分钟吧,啊不,百度十分钟)
  3. 装完没有Office,必须从虚拟机复制截图和代码出来写word文档
  4. 不带linux-header,VirtualBox增强功能装不上
  5. 一个apt-get输入完,连接kali官方软件源的速度简直不忍心看
  6. 复制国内kali源到……没有增强工具包复制不进虚拟机,虚拟机内开浏览器发现是iceweasel,搜索时打不出中文字,惨不忍睹……

0x01 从Ubuntu说起


对于大部分Linux初学者来说,Ubuntu的桌面系统相对更加友好一些,尤其是Ubuntu麒麟版,算了不评论了,继续说一下在使用中遇到的问题:

  1. Unity桌面很别扭,从没用过全局DASH,我要用什么肯定是ctrl+alt+t然后输命令(因为菜单没了)
  2. 比起什么软件都没有装,滥装垃圾软件更可怕
  3. 作为一个安全研究人员,要装的东西太多了,太费劲了,随便一个msfconsole打进去竟然都没有……

所以,Ubuntu的桌面体验和中文支持要优于Kali,只不过Ubuntu上没有预装好安全工具,而且针对高技术能力的白帽子人群还有一些很别扭的地方需要调整

0x03 Woobuntu的理想


我曾经看过很多文章,都叫做《安装完XX系统后要做的XX件事》,有的文章做的事甚至多达20件,如果还要做如此多的事情,为何不直接集成在系统安装镜像中?

既然人们对系统“预装软件”所持的褒贬态度大不相同,为何不直接给出一个干净的系统,再给出简单方便可修改的工具自动化安装脚本,让他们各取所需?

能力超群的白帽子们心里真正想要的,不是一个能令多数人满意的操作系统,而是一个“可以自己定制预装软件,而且定制过程非常简单”的操作系统,而且这个自己改过的脚本将来还可以分享给别人。当然如果你很懒的话,直接下载一份预编译的Woobuntu系统就开始用也可以,至少里面有输入法和metasploit了哼哼~

所以Woobuntu的目标如下:

  1. 完全开源,并且会有文档教你如何注释掉你不需要安装的工具(前面加#号)
  2. 自动化构建安装镜像(需要你设置mysql密码之类的地方需要手动设置),有prebuild的安装镜像可参考
  3. 针对中国白帽子加强的初始设置以及中文支持
  4. 大量的安全工具集成,以及自动完成部分工具的初始化配置,大量的安全研究环境集成,可无需配置直接编译WooyunWifi和Woophone Android代码(代码包太大,后续提供)
  5. 仍然是一个Ubuntu,可以胜任桌面主系统(提醒一下,Ubuntu是可以和Windows共存的,装虚拟机也可以,U盘直接运行也可以)

总结就是让白帽子用最少代价构建一个完全自己定制的Ubuntu系统,用来安全研究和测试

0x04 Woobuntu特性


Woobuntu比Ubuntu多一个Kali,比Kali多整个Ubuntu(因为kali自己做repository,所以它基于什么都不重要了,软件包陈旧的难以想象)

  1. 重点预装Wine QQ ,chromium ,metasploit-community,beEF,burp,edb-debugger,无线破解全家桶和字典,多数图形化软件在菜单中有启动器
  2. 一大堆常用的安全工具(请参见源码,比如sqlmap,nmap,arachni之类的实在太多了),开发环境更不用说了,直接免配置编译Android、Openwrt
  3. 取消了“桌面”文件夹,再也不用命令行 cd 桌面 了 ,Vim的轻微配置,Terminal的预设置,文泉驿微米黑,之类一大堆的优化
  4. 一个装满了常用插件的firefox(而且可以随着Ubuntu软件源更新)
  5. 直接把restricted-extra还有中文输入法等集成进安装包了,不用担心安装系统时下载超多软件包卡住不动了(懒人在下载软件包时点跳过就好了,不懒的人等他下载完更新下软件包版本也可以)
  6. php5 mysql-server php5-mysql 预先下载好但未安装,如果想要安装,不需要联网了,当然不安装也可
  7. 编译WooyunWifi和Woophone Android代码时无需配置环境了,对于想要尝试自己构建乌云路由和乌云手机固件的白帽子来讲,可以尝试编译Openwrt和CM 12.1了
  8. 仍然是Ubuntu,仍然可以直接upgrade,仍然可以装steam玩dota2,当然也可以在Woobuntu里面用Woobuntu构建脚本来定制一个Woobuntu安装镜像
  9. 可以光盘启动,U盘启动,如果有乌云手机,也可以手机USB伪造光驱启动
  10. 你可以定制安装脚本,生成一个你自己专属的安装镜像(妈妈,我有一个自己的操作系统了)

只是列举了一些关键特性,其他的特性请参见源代码,因为不是所有的特性都能公开说

最后提醒一下,相对于Windows,Woobuntu解决了盗版问题,不,算了,还是当我没说吧

0x05 如果我就是喜欢kali


因为Ubuntu是Linux,所以你可以用Docker来加载kali,比虚拟机效率高多了,尽管Woobuntu已经集成了大量的安全工具环境,如果你就是喜欢kali,用Ubuntu+docker比用Windows+虚拟机更省资源

另外Woobuntu也可以安装VirtualBox虚拟机,然后虚拟机运行Windows或者kali,而且别忘了,你已经有wine了,某些Windows程序是不需要虚拟机直接就能双击运行的,而在Woobuntu中编译的二进制文件是可以直接拿到Kali中运行的

0x06 游戏体验


Woobuntu中可以装steam来安装各种游戏,比如dota2

建议您留一份Windows操作系统用于玩大型游戏,在需要玩大型游戏时重启至Windows进行游戏,当然你直接把Woobuntu丢在Windows下的虚拟机里也可以,毕竟是xfce的轻量级桌面,虚拟机条件下xfce比gnome运行要流畅的多,虚拟机分配2G内存即可流畅运行多数工具(如果需要编译openwrt或者Android代码请增加内存,如果需要在虚拟机内开大量浏览器网页请适当增加内存)

0x07 社区支持


如果您有什么建议,比如增加一个工具或者调整一项配置,可以在乌云社区内讨论,或者直接fork代码,然后发一个pull request

如果发现BUG,可以在Github上开个issue,或者直接在乌云社区里发帖

还有亲爱的喷子们,欢迎来喷,相比之下喷Woobuntu比喷Kali要舒服多了,因为作为开发者,我就在乌云社区里而且我们都看得懂中文~嘿嘿嘿O(∩_∩)O

乌云社区Beta测试发布地址(预编译系统镜像):http://zone.wooyun.org/content/24191

源码github地址:https://github.com/woolabs/Woobuntu

Woobuntu的更多相关文章

  1. Woobuntu woobuntu_build.sh hacking

    # Woobuntu woobuntu_build.sh hacking # 说明: # 有时候因为一些需求,我们需要定制一些系统,包括Ubuntu系统,于是 # 我们自然需要知道如何去解包一个Ubu ...

随机推荐

  1. Mysql强制修改密码

    windows: 1,停止MYSQL服务,CMD打开DOS窗口,输入 net stop mysql 2,在CMD命令行窗口,进入MYSQL安装目录 比如E:\Program Files\MySQL\M ...

  2. Linux 查看操作系统版本信息 uname

    Linux 查看操作系统版本信息 uname uname 命令用于显示当前系统的版本信息. 带 -a 选项的 uname 命令会给出当前操作系统的所有有用信息. 命令如下: [root@node1 / ...

  3. linux常用命令(18)find exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了.-exec  参数后面跟的是command命令,它的终止是以 ...

  4. 自动创建数据库(DELPHI+SQL SERVER)

    procedure TForm1.Btn_OKClick(Sender: TObject); var sqlconn:string; begin Sqlconn:='Provider=SQLOLEDB ...

  5. C# 反转单向链表

    static void Main(string[] args) { Mynode mynode0 = new Mynode(); Mynode mynode1 = new Mynode(); Myno ...

  6. python-Web-django-富文本编辑器

    views: def gbook(request): '''''' text = request.POST.get('text') soup = BeautifulSoup(text, "h ...

  7. C#编程 socket编程之udp服务器端和客户端

    基于Udp协议是无连接模式通讯,占用资源少,响应速度快,延时低.至于可靠性,可通过应用层的控制来满足.(不可靠连接) 使用Udp协议通讯需要具备以下几个条件: (1).建立一个套接字(Socket) ...

  8. Python面试-DB相关

    昨日回顾: 面试 Python综述 设计哲学 版本变迁及发展 GIL 内存管理及垃圾回收 并发并行 昨日作业一:Python是否存在内存泄露 作业二:过往的项目中有没有出现过性能问题? 作业三:什么是 ...

  9. C# WPF Border控件总结

    Border控件不是一个布局面板,而是一个非常便于使用的元素,经常与布局面板一起使用.所以,在继续介绍其他布局面板之前,现在先介绍一下Border控件是有意义的. Border类非常简单.它只能包含一 ...

  10. iOS 12.4 越狱已经发布

    昨天 unc0ver 3.5.0 发布,支持 iOS 12.4 越狱.12.4 目前为最新版的系统. 下载地址:https://github.com/pwn20wndstuff/Undecimus/r ...