Ubuntu 18.04 部署手记

犹豫,就会败北.jpg

因为做某个Pwn题,Kali存在一系列问题,再加上退役予定,果然还是换了虚拟机的Kali,

Ubuntu Yes!

0x00 TL;DR

  1. VMware Workstation Pro 15的Vmtools在Ubuntu18.04下存在问题,耻辱换回14。
    (我的正版序列号白给了~RUA!)
  2. 使用联通网的同学在使用ptf安装渗透测试所需工具的时候,请自觉扶墙。
  3. 18.04作为一个LTS版本Node.js竟然还是8… SDK还是跟着最新版本走吧。
  4. 本文最后会总结一波部署脚本,感兴趣的同学可以康康。

0x01 安装系统

基础备份工作不表。
作为xfce4忠实用户,直接下了Xubuntu镜像,然后就是愉快的装装装(系统自己装,
我吃零食看番)环节,重启之后就是熟悉的界面,先快照一波,然后安装Vmtools,
精(bai)彩(gei)的部分来了,

用VM自带的就没法全屏下自动缩放,
用apt里的开源版本,剪贴板和共享文件夹那就白给了。

我:“excuse me?(╯‵□′)╯︵┻━┻ .”

屈服是不可能屈服的,
这辈子不可能屈服的。

404娘启动!

最终方案大概长这样:

  1. 先安装VMware给的镜像里带的Vmtools
  2. 然后再sudo apt install open-vm-tools-desktop

然后你就发现…狗日的18.04内核崩溃…
关键是我的Usb外置网卡挂进去,虚拟机就炸了…

尼马…凸(艹皿艹 )

在跟无数友人交流(不是PY!)之后,得出结论,
VM15还是先别着急用了…

然后果断重做。

这次就好多了,完成上述步骤后就开始配置工作环境了。

0x02 工具流配置

先换源
不过Ubuntu挺好,有设置(设置-软件和更新)
直接换成中科大/清华了事。

基本工具流如下:

1
2
3
4
5
terminator + vim
vs codium (vscode开源编译版本)
Firefox Quantum + 一堆插件
s*r (和谐成这样估计你们也知道是啥)
albert launcher(堪比Mac OS下的Alfred的存在)

估计有人要问,你都有vs code你还要啥vim…
问题是有时候我就不想进图形界面,你咬我啊。(略略略…)

命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#build-esstional
sudo apt-get install build-essential
#install albert
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/home:manuelschneid3r.list"
wget -nv https://download.opensuse.org/repositories/home:manuelschneid3r/xUbuntu_18.04/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update
sudo apt-get install albert
#install vs codium
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | sudo apt-key add -
echo 'deb https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/repos/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list
sudo apt update
sudo apt install vscodium
#install s*r
wget http://www.djangoz.com/ssr
sudo mv ssr /usr/local/bin
sudo chmod 766 /usr/local/bin/ssr
ssr install

这时有一位帅气的同学突然警觉!

“你丫的Vim呢…”

事实是这样的…
我博客里其实有一篇了
传送门在此:
[速成课:Vim简明指南]https://m12r3dx.github.io/2018/11/12/vim/

想抄我.vimrc的同学随便抄好吧。
这里专门拿出来讲讲一些坑,
第一,各位同学最好不要apt带的,因为可能不带Python支持,而在装YouCompeleteMe插件
时踩坑,最好自己编译一下,

1
2
3
4
5
git clone git@github.com:vim/vim.git
cd vim/
./configure --with-features=huge --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-perlinterp --with-python-config-dir=/usr/lib/python2.7/config/ --enable-gui=gtk2 --enable-cscope --prefix=/usr
make
make install

注意:编译前最好安装一下依赖库

1
2
3
sudo apt install python-devel python3-devel ruby-devel 
lua-devel libX11-devel gtk-devel gtk2-devel gtk3-devel
ncurses-devel

这样完事以后,进vim执行一下:echo has(‘python’)
返回为1就是支持Python啦。

第二,就是众所周知的vim插件安装,回回重装像噩梦,
有能力的同学能扶墙就扶吧,谁还跟时间过不去呢。
是吧。
所有插件其实是通过管理器实现,所以先来装管理器,

1
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

因为我已经把需要安装的插件列表写在.vimrc里了,
现在只需要打开vim,执行一下:PluginInstall就好,但这里面有个奇葩,
对就是那个YouComleteMe。
因为它安完是没法直接用的,所以你安好了之后他会报错,这种时候你就退出来,
然后进~/.vim/bundle/YouCompleteMe/重编译一下

1
./install.sh  --clang-completer

这时候还会提示你缺少第三方库,按照指示做就完了。
详情请参考这篇文章:
YouCompleteMe实现vim自动补全

人家写的挺好,我就不画蛇添足了…(自闭loading…30%)

0x03 开发环境配置

开始捣鼓各种SDK,
其实也用的不多,毕竟就是个虚拟机,像回事就完了呗,要啥自行车啊~
大概也就装个JDK,node.js,再升级一下Python就完了,有c++17需求的同学
可以折腾一下llvm/clang,我先凑合和用gcc就完事了∠( ᐛ 」∠)_

先搞nodejs,毕竟我懒,官方部署脚本走起:

1
2
3
4
5
6
  
curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
nano nodesource_setup.sh
chmod 755 nodesource_setup.sh
sudo ./nodesource_setup.sh
sudo apt-get install -y nodejs

他这个脚本是先添加PPA然后直接用apt更新,可以说很友好了。
相比之下,JDK就”#$*@”了…

1
2
3
4
5
6
7
8
wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz
tar -zxvf jdk-8u171-linux-x64.tar.gz
cp -r sudo mv jdk1.8.0_171 /usr/local/jdk1.8
sudo vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

好了,放平心态,这时候你会发现,
该升级pip了,
你说:”这我会啊,sudo pip install -U pip就完了;
当你再次输入pip list时候…
“我去,又报错了…”
不要慌,打开你的vim /usr/bin/pip(pip3)
然后吧第九行from pip import main换成
from pip._internal import main
万事大吉。
(OS:这帮人怎么搞的,换了api都不带自己改的么,有没有排面)
(自闭Loading…50%)

0x04常用安全工具安装

这时候有人要推荐著名坑货Katoolin了,
我还就不这么干,
在著名的黑客秘笈(The Hacker Playbook)第三版中介绍了PTF框架,
说白了就是个安装和升级脚本集合(让我想到Windows下的PentestBox),
我的配置大概如下,

1
2
3
4
5
6
7
8
sudo su -
git clone https://github.com/trustedsec/ptf /opt/ptf
cd /opt/ptf && ./ptf
use modules/exploitation/install_update_all
use modules/intelligence-gathering/install_update_all
use modules/post-exploitation/install_update_all
use modules/powershell/install_update_all
use modules/vulnerability-analysis/install_update_all

密码破解工具可以直接用系统里的

1
sudo apt install john hydra cupp hashcat

然后就是Pwn环境搭建
之前为了省事情,就直接在别人基础上稍作修改。
感谢giantbranch同学的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash

cd ~/
# change sourse to ustc
echo "I suggest you modify the /etc/apt/sources.list file to speed up the download."
echo "Press Enter to continue~"
read test
#sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
# change sourse —— deb-src
sudo sed -i 's/# deb-src/deb-src/' "/etc/apt/sources.list"
# change pip source
mkdir ~/.pip
echo -e "[global]\nindex-url = https://pypi.douban.com/simple/\n[install]\ntrusted-host = pypi.douban.com" > ~/.pip/pip.conf
# support 32 bit
dpkg --add-architecture i386
sudo apt-get update
# sudo apt-get -y install lib32z1
sudo apt-get -y install libc6-i386
# maybe git?
sudo apt-get -y install git gdb
# install pwndbg
git clone https://github.com/pwndbg/pwndbg ~/.pwndbg
cd ~/.pwndbg
./setup.sh
# install peda
git clone https://github.com/longld/peda.git ~/.peda
echo "source ~/.peda/peda.py" >> ~/.gdbinit
# download the libc source to current directory(you can use gdb with this example command: directory ~/glibc-2.24/malloc/)
sudo apt-get source libc6-dev
# install pwntools
sudo apt-get -y install python python-pip
pip install pwntools
# install one_gadget
sudo apt-get -y install ruby
sudo gem install one_gadget
# download
git clone https://github.com/niklasb/libc-database.git ~/.libc-database
echo "Do you want to download libc-database now(Y/n)?"
read input
if [[ $input = "n" ]] || [[ $input = "N" ]]; then
trueecho "you can cd ~/.libc-database and run ./get to download the libc at anytime you want"
else
truecd ~/.libc-database && ./get
fi
echo "========================================="
echo "==========Have fun,and PWN IT.==========="
echo "========================================="

0x05 番外:美化

zsh是个好东西啊,秀一下我的配置吧。
当然是假的,其实我就做了两行改动

1
2
ZSH_THEME="philips"
plugins=(git z extract)

主题和实验楼的是一样的,毕竟习惯了
插件就是git z(跳转) extract(功能强大的解压插件,所有类型的文件解压一个命令x全搞定)

然后主题使用的是Manjaro的默认Arc,
直接sudo apt install arc-theme就完事了。

大概就是这个样子了。


OS:(再也不瞎搞了.jpg)
lei了lei了.
EOF.