Compare commits

...

38 commits

Author SHA1 Message Date
Kaj Forney 4e36f6e507
Add sleep statement to pingsweep. 2020-12-01 15:59:50 -07:00
Kaj Forney ea15d547b2
Revert change made while running on 2 hours of sleep. 2020-11-29 18:19:55 -07:00
Kaj Forney 06f2567968
Merge branch 'master' of ssh://lunarpenguin.net:31416/kforney/pentest-distro-builder 2020-11-24 10:23:18 -07:00
Kaj Forney 5ab5f92564
Add additional backgrounds and zsh path config. 2020-11-24 10:23:00 -07:00
Kaj Forney 4cc82b950a Update 'README.md' 2020-11-23 16:52:18 -07:00
Kaj Forney 0d8eb51725
Update README.md 2020-11-23 16:51:50 -07:00
Kaj Forney 8635dc874c
Minor conversion script bugfix. 2020-11-23 16:39:57 -07:00
Kaj Forney 759fe239d2
Minor conversion script bugfix. 2020-11-23 16:39:45 -07:00
Kaj Forney 9081415412
Minor conversion script bugfix. 2020-11-23 16:36:47 -07:00
Kaj Forney 60bde2fa48
Change default Kali repo domain. 2020-11-23 16:31:04 -07:00
Kaj Forney a6fae28c2b
Add conversion script for vanilla Kali. 2020-11-23 16:29:10 -07:00
Kali User 3a67f7b125 Update VSCodium repo and change wallpaper 2020-10-30 13:34:30 -06:00
Kaj Forney a380b8fe97
Remove package removed by Kali. 2020-03-09 13:28:46 -06:00
Kaj Forney c51b2f6f04
Add MIME association with Thunar to prevent VS Codium from hijacking the inode/directory MIME type. 2020-02-14 15:47:07 -07:00
Kaj Forney 94f2243089
Desktop tweaks to conform to new non-root Kali user 2020-02-14 15:41:51 -07:00
Kaj Forney ce8bb94fbc
Fix typo in desktop file creation. 2020-02-14 15:20:55 -07:00
Kaj Forney 40bfc46aa3
Update Autopsy script (add icon and remove root requirement) 2020-02-13 14:25:26 -07:00
Kaj Forney 6d71508340
Fix for Autopsy script. 2020-02-12 14:26:45 -07:00
Kaj Forney d8174831b0
Add the real wp6.sh 2020-02-04 17:27:42 -07:00
Kaj Forney cca2b437b8
Set scripts as executable. 2020-02-04 17:24:58 -07:00
Kaj Forney 11168c8129
Add post-install scripts for Autopsy 4 and Resilio. 2020-02-03 13:43:06 -07:00
Kaj Forney 8b5121d4fc
Remove Resilio Sync. 2020-01-30 17:36:56 -07:00
Kaj Forney f9984b059e
Move Resilio Sync install to later in build. 2020-01-30 16:55:18 -07:00
Kaj Forney 8a89838543
Update .deb packages; move VS Code download to later in build. 2020-01-30 16:04:49 -07:00
Kaj Forney 267d6fac33
We want to build on Debian too... 2020-01-30 15:25:32 -07:00
Kaj Forney faeefa37cd
Add modules, but no longer as submodules. 2020-01-29 16:45:43 -07:00
Kaj Forney 15a5ec8a70
To oblivion with submodules. 2020-01-29 16:32:30 -07:00
Kaj Forney e11b6bf279
To oblivion with submodules. 2020-01-29 16:31:31 -07:00
Kaj Forney d4554302f8
Add fresh live-build-config module. 2020-01-28 15:11:40 -07:00
Kaj Forney 6990db9e5e
Remove broken OffSec module. 2020-01-28 15:10:17 -07:00
Kaj Forney a352ebc86d
Put our extra stuff in opt. 2020-01-23 16:28:22 -07:00
Kaj Forney 16d69223aa
Update submodules prior to build. 2020-01-23 16:21:09 -07:00
Kaj Forney 6217ff990c
Re-add pptp-linux. 2020-01-22 17:48:08 -07:00
Kaj Forney e67356a658
Add new dependency from Kali. 2020-01-17 16:19:17 -07:00
Kaj Forney 2116c00cff
Update Kali submodule. 2020-01-17 16:17:09 -07:00
Kaj Forney 58ca6bf845
Re-add pictures folder to skel. 2019-12-06 13:59:35 -07:00
Kaj Forney cec1b4ec4a
Remove missing packages. 2019-12-04 15:55:11 -07:00
Kaj Forney 6f57f5a3e3
Desktop refresh for XFCE. 2019-12-04 15:51:19 -07:00
722 changed files with 5825 additions and 42 deletions

6
.gitmodules vendored
View file

@ -1,6 +0,0 @@
[submodule "modules/parrot-build"]
path = modules/parrot-build
url = https://lunarpenguin.net/git/kforney/parrot-build
[submodule "modules/live-build-config"]
path = modules/live-build-config
url = https://lunarpenguin.net/git/kforney/live-build-config

View file

@ -31,3 +31,6 @@ This will build a Kali Linux .iso, with the MATE desktop environment, using a lo
This will build a Parrot Security OS .iso, with the Cinnamon desktop environment, using the default Parrot repository.
If -r is unspecified, then the default will be used.
## Converting a Vanilla Kali Installation
If you already have a copy of Kali installed, and just want to add our changes on top of it, simply run the "convert.sh" script. It will apply the modifications this script would have built into the image automatically. You do not have to be root to run the script; it will prompt for sudo as needed.

View file

@ -5,11 +5,11 @@ cp -rv /etc/skel/. /root/
#Time to git stuff...
cd /root/
git clone https://github.com/Veil-Framework/Veil.git
git clone https://github.com/leebaird/discover.git
git clone https://github.com/trustedsec/ptf
git clone https://github.com/Veil-Framework/Veil.git /opt/Veil
git clone https://github.com/leebaird/discover.git /opt/discover
git clone https://github.com/trustedsec/ptf /opt/ptf
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
#ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
#Enable/disable our desired services
systemctl enable ssh
@ -31,24 +31,30 @@ tar xvf ftkimager.3.1.1_ubuntu64.tar.gz
mv ftkimager /usr/bin/
rm ftkimager.3.1.1_ubuntu64.tar.gz
#Install VS Code
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.gpg] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/ vscodium main' | sudo tee --append /etc/apt/sources.list.d/vscodium.list
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/vscodium-archive-keyring.gpg
sudo apt update && sudo apt install codium -y
#Install VS Code extensions
codium --install-extension dbaeumer.vscode-eslint --user-data-dir=~/.vscode-oss
codium --install-extension ecmel.vscode-html-css --user-data-dir=~/.vscode-oss
codium --install-extension hookyqr.beautify --user-data-dir=~/.vscode-oss
codium --install-extension ms-azuretools.vscode-docker --user-data-dir=~/.vscode-oss
codium --install-extension ms-python.python --user-data-dir=~/.vscode-oss
codium --install-extension ms-vscode.cpptools --user-data-dir=~/.vscode-oss
codium --install-extension ms-vscode.csharp --user-data-dir=~/.vscode-oss
codium --install-extension ms-vscode.go --user-data-dir=~/.vscode-oss
codium --install-extension ms-vscode.powershell --user-data-dir=~/.vscode-oss
codium --install-extension rebornix.ruby --user-data-dir=~/.vscode-oss
codium --install-extension zignd.html-css-class-completion --user-data-dir=~/.vscode-oss
#codium --install-extension dbaeumer.vscode-eslint --user-data-dir=~/.vscode-oss
#codium --install-extension ecmel.vscode-html-css --user-data-dir=~/.vscode-oss
#codium --install-extension hookyqr.beautify --user-data-dir=~/.vscode-oss
#codium --install-extension ms-azuretools.vscode-docker --user-data-dir=~/.vscode-oss
#codium --install-extension ms-python.python --user-data-dir=~/.vscode-oss
#codium --install-extension ms-vscode.cpptools --user-data-dir=~/.vscode-oss
#codium --install-extension ms-vscode.csharp --user-data-dir=~/.vscode-oss
#codium --install-extension ms-vscode.go --user-data-dir=~/.vscode-oss
#codium --install-extension ms-vscode.powershell --user-data-dir=~/.vscode-oss
#codium --install-extension rebornix.ruby --user-data-dir=~/.vscode-oss
#codium --install-extension zignd.html-css-class-completion --user-data-dir=~/.vscode-oss
#Make Nemo the defualt file manager
xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search
#Distro-specific stuff
DISTRO=$(cat /etc/lsb-release | grep DISTRIB_ID | cut -c 12-30)
#DISTRO=$(cat /etc/lsb-release | grep DISTRIB_ID | cut -c 12-30)
DISTRO=$(lsb_release -is)
case $DISTRO in
Parrot)

View file

@ -11,6 +11,8 @@ libpam-google-authenticator
ncdu
nemo
powershell
pptp-linux
terminator
xrdp
xserver-xorg-input-all
xinput
@ -62,11 +64,9 @@ pkg-config
cmatrix
gnome-chess
lolcat
nethack-console
#Amateur radio tools
cqrlog
dump1090-mutability
fldigi
gqrx-sdr
qtel
@ -75,3 +75,14 @@ xlog
#Themes
arc-theme
gnome-icon-theme
#Archive utilities
file-roller
lzip
lzop
rpm2cpio
rzip
sharutils
unace
unalz
unar

58
convert.sh Executable file
View file

@ -0,0 +1,58 @@
#!/bin/bash
#This script will automate adding all of our additions and changes on top of a vanilla intallation of Kali Linux.
#It has not been tested with Parrot.
function pause(){
read -p "$*"
}
#Root check!
if [ "$EUID" -ne 0 ]
then
whiptail --backtitle "Pentest Conversion Script" --title "Welcome" --msgbox "You are not signed in as root. This script will prompt for sudo as needed." 7 79
fi
whiptail --backtitle "Pentest Conversion Script" --title "Welcome" --msgbox "This script will add our changes on top of your Kali installation." 7 70
REPO=$(whiptail --backtitle "Pentest Conversion Script" --title "Repository" --menu "Which repository are you going to use?" 10 60 2 \
"default" "The distribution's default repository" \
"local" "A repository hosted on your local network" 3>&1 1>&2 2>&3)
if [ $REPO == "local" ];
then
REPO=$(whiptail --backtitle "Pentest Conversion Script" --title "Local Repository" --inputbox "What is the IP address of your local repository?" \
10 60 3>&1 1>&2 2>&3)
fi
if [ $REPO != "default" ];
then
sudo cp /etc/apt/sources.list /etc/apt/sources.list.original
sudo sed -i "s|http.kali.org|$REPO|g" /etc/apt/sources.list
fi
sudo apt update
sudo apt upgrade -y
xargs -a <(awk '! /^ *(#|$)/' "./config/software.list.chroot") -r -- sudo apt install -y
wget -O ../build/discord.deb "https://discordapp.com/api/download?platform=linux&format=deb"
wget -O ../build/slack.deb "https://downloads.slack-edge.com/linux_releases/slack-desktop-4.11.1-amd64.deb"
rm ./build/.gitignore
sudo dpkg -i ./build/
sudo rsync -HAXav ./filesystem/ /
if [ "$EUID" -ne 0 ]
then
rsync -av /etc/skel/ $HOME
fi
sudo bash ./config/pentest-distro-builder.chroot
if (whiptail --backtitle "Pentest Conversion Script" --title "Complete" --yesno "The script is now complete. A reboot is recommended.\nWould you like to reboot now?" 10 60)
then
whiptail --backtitle "Pentest Conversion Script" --title "Rebooting!" --msgbox "Thank you for using this script. Enjoy your new Kali!" 8 60
sudo reboot
else
whiptail --backtitle "Pentest Conversion Script" --title "Finished!" --msgbox "Thank you for using this script. Enjoy your new Kali!" 8 30
exit 1
fi

View file

@ -3,14 +3,8 @@
#Discord
wget -O ../build/discord.deb "https://discordapp.com/api/download?platform=linux&format=deb"
#Resilio Sync
wget -O ../build/resilio.deb "https://download-cdn.resilio.com/2.6.3/Debian/resilio-sync_2.6.3-1_amd64.deb"
#VS Code (OSS)
wget -O ../build/code.deb "https://github.com/VSCodium/vscodium/releases/download/1.39.0/codium_1.39.0-1570649825_amd64.deb"
#Slack
wget -O ../build/slack.deb "https://downloads.slack-edge.com/linux_releases/slack-desktop-4.0.2-amd64.deb"
wget -O ../build/slack.deb "https://downloads.slack-edge.com/linux_releases/slack-desktop-4.11.1-amd64.deb"
dpkg-name ../build/*.deb
exit 0
exit 0

View file

@ -8,13 +8,13 @@
"panes": [
{
"type": "term",
"directory": "/root"
"directory": "~"
}
],
"label": "root@kalitest: ~",
"label": "Terminal",
"custom_label_set": false
}
]
]
}
}
}

View file

@ -0,0 +1,2 @@
[Default Applications]
inode/directory=thunar.desktop;

View file

@ -0,0 +1,19 @@
[global_config]
[keybindings]
[profiles]
[[default]]
background_darkness = 0.75
background_type = transparent
cursor_color = "#aaaaaa"
font = Monospace 15
foreground_color = "#00ff00"
use_system_font = False
[layouts]
[[default]]
[[[window0]]]
type = Window
parent = ""
[[[child1]]]
type = Terminal
parent = window0
[plugins]

View file

@ -0,0 +1 @@
/root/.config/xfce4/desktop/icons.screen0-1902x881.rc

View file

@ -0,0 +1,15 @@
[xfdesktop-version-4.10.3+-rcfile_format]
4.10.3+=true
[Trash]
row=0
col=0
[/]
row=1
col=0
[/root]
row=2
col=0

View file

@ -0,0 +1,17 @@
UpdateInterval=2
TimeScale=0
Size=42
Mode=0
Frame=1
Border=1
Bars=1
TrackedCore=0
Command=xfce4-taskmanager
InTerminal=0
StartupNotification=1
ColorMode=0
Foreground1=rgb(0,255,0)
Foreground2=rgb(255,0,0)
Foreground3=rgb(0,0,255)
Background=rgb(0,0,0)

View file

@ -0,0 +1,21 @@
[Desktop Entry]
Name=Terminator
Comment=Multiple terminals in one window
TryExec=terminator
Exec=terminator
Icon=tilix
Type=Application
Categories=GNOME;GTK;Utility;TerminalEmulator;System;
StartupNotify=true
X-Ubuntu-Gettext-Domain=terminator
X-Ayatana-Desktop-Shortcuts=NewWindow;
Keywords=terminal;shell;prompt;command;commandline;
X-XFCE-Source=file:///usr/share/applications/terminator.desktop
Path=
Terminal=false
[NewWindow Shortcut Group]
Name=Open a New Window
Exec=terminator
TargetEnvironment=Unity

View file

@ -0,0 +1,32 @@
[Desktop Entry]
Name=Kazam
GenericName=Screencast and Screenshot tool
Comment=Record a video or take a screenshot of your screen
Keywords=screenshot;screencast;videorecord;desktop recording;
Categories=GNOME;AudioVideo;
Exec=kazam
Icon=kazam
Terminal=false
Type=Application
Actions=SSF;SSA;SSW;Prefs;
X-XFCE-Source=file:///usr/share/applications/kazam.desktop
[Desktop Action SSF]
Name=Take a screenshot of entire workspace
Exec=kazam -f
OnlyShowIn=Unity
[Desktop Action SSA]
Name=Select an area to screenshot
Exec=kazam -a
OnlyShowIn=Unity
[Desktop Action SSW]
Name=Select a window to screenshot
Exec=kazam -s
OnlyShowIn=Unity
[Desktop Action Prefs]
Name=Preferences
Exec=kazam -p
OnlyShowIn=Unity

View file

@ -0,0 +1,80 @@
favorites=exo-terminal-emulator.desktop,exo-file-manager.desktop,xfce-text-editor.desktop,exo-web-browser.desktop,kali-www.desktop,kali-docs.desktop,kali-bugs.desktop,offsec-training.desktop,exploit-database.desktop,vulnhub.desktop
recent=xfce-ui-settings.desktop,exo-file-manager.desktop
button-title=Applications
button-icon=kali-panel-menu
button-single-row=false
show-button-title=false
show-button-icon=true
launcher-show-name=true
launcher-show-description=false
launcher-show-tooltip=true
item-icon-size=2
hover-switch-category=false
category-show-name=true
category-icon-size=1
load-hierarchy=true
recent-items-max=10
favorites-in-recent=true
display-recent-default=false
position-search-alternate=true
position-commands-alternate=false
position-categories-alternate=true
stay-on-focus-out=false
confirm-session-command=true
menu-width=525
menu-height=625
menu-opacity=100
command-settings=xfce4-settings-manager
show-command-settings=true
command-lockscreen=xflock4
show-command-lockscreen=true
command-switchuser=gdmflexiserver
show-command-switchuser=false
command-logoutuser=xfce4-session-logout --logout --fast
show-command-logoutuser=false
command-restart=xfce4-session-logout --reboot --fast
show-command-restart=false
command-shutdown=xfce4-session-logout --halt --fast
show-command-shutdown=false
command-suspend=xfce4-session-logout --suspend
show-command-suspend=false
command-hibernate=xfce4-session-logout --hibernate
show-command-hibernate=false
command-logout=xfce4-session-logout
show-command-logout=true
command-menueditor=menulibre
show-command-menueditor=true
command-profile=mugshot
show-command-profile=false
search-actions=5
[action0]
name=Man Pages
pattern=#
command=exo-open --launch TerminalEmulator man %s
regex=false
[action1]
name=Web Search
pattern=?
command=exo-open --launch WebBrowser https://duckduckgo.com/?q=%u
regex=false
[action2]
name=Wikipedia
pattern=!w
command=exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u
regex=false
[action3]
name=Run in Terminal
pattern=!
command=exo-open --launch TerminalEmulator %s
regex=false
[action4]
name=Open URI
pattern=^(file|http|https):\\/\\/(.*)$
command=exo-open \\0
regex=true

View file

@ -0,0 +1,25 @@
[Settings]
ShowAllProcesses=FALSE
MorePrecision=FALSE
FullCommandLine=FALSE
ShowStatusIcon=FALSE
ShowMemoryInXBytes=FALSE
MonitorPaintBox=TRUE
ShowApplicationIcons=TRUE
ToolbarStyle=DEFAULT
PromptTerminateTask=TRUE
RefreshRate=750
ColumnUID=FALSE
ColumnPID=TRUE
ColumnPPID=FALSE
ColumnState=FALSE
ColumnVSZ=FALSE
ColumnRSS=TRUE
ColumnCPU=TRUE
ColumnPriority=FALSE
SortColumn=0
SortType=0
WindowWidth=490
WindowHeight=465
HandlePosition=100
ProcessTreeView=FALSE

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="displays" version="1.0">
<property name="ActiveProfile" type="string" value="Default"/>
</channel>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-view" type="string" value="ThunarIconView"/>
<property name="last-location-bar" type="string" value="ThunarLocationEntry"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
<property name="last-show-hidden" type="bool" value="true"/>
<property name="last-window-width" type="int" value="988"/>
<property name="last-window-height" type="int" value="480"/>
<property name="last-window-maximized" type="bool" value="false"/>
</channel>

View file

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-desktop" version="1.0">
<property name="backdrop" type="empty">
<property name="screen0" type="empty">
<property name="monitor0" type="empty">
<property name="brightness" type="empty"/>
<property name="color1" type="empty"/>
<property name="color2" type="empty"/>
<property name="color-style" type="empty"/>
<property name="image-path" type="empty"/>
<property name="image-show" type="empty"/>
<property name="last-image" type="empty"/>
<property name="last-single-image" type="empty"/>
<property name="image-style" type="empty"/>
</property>
<property name="monitor1" type="empty">
<property name="brightness" type="empty"/>
<property name="color1" type="empty"/>
<property name="color2" type="empty"/>
<property name="color-style" type="empty"/>
<property name="image-path" type="empty"/>
<property name="image-show" type="empty"/>
<property name="last-image" type="empty"/>
<property name="last-single-image" type="empty"/>
<property name="image-style" type="empty"/>
</property>
<property name="monitorVirtual1" type="empty">
<property name="workspace0" type="empty">
<property name="color-style" type="int" value="1"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/SCorp2.png"/>
</property>
<property name="workspace1" type="empty">
<property name="color-style" type="int" value="1"/>
<property name="image-style" type="int" value="5"/>
<property name="last-image" type="string" value="/usr/share/backgrounds/kali/kali-logo-16x9.png"/>
</property>
</property>
</property>
</property>
<property name="desktop-icons" type="empty">
<property name="style" type="empty"/>
<property name="file-icons" type="empty">
<property name="show-home" type="empty"/>
<property name="show-filesystem" type="empty"/>
<property name="show-removable" type="empty"/>
<property name="show-trash" type="empty"/>
</property>
<property name="icon-size" type="empty"/>
<property name="tooltip-size" type="empty"/>
</property>
<property name="last" type="empty">
<property name="window-width" type="int" value="636"/>
<property name="window-height" type="int" value="603"/>
</property>
</channel>

View file

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-keyboard-shortcuts" version="1.0">
<property name="commands" type="empty">
<property name="default" type="empty">
<property name="&lt;Alt&gt;F1" type="empty"/>
<property name="&lt;Alt&gt;F2" type="empty"/>
<property name="&lt;Alt&gt;F3" type="empty"/>
<property name="&lt;Primary&gt;Escape" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;l" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;t" type="empty"/>
<property name="&lt;Super&gt;l" type="empty"/>
<property name="&lt;Super&gt;p" type="empty"/>
<property name="override" type="empty"/>
<property name="Print" type="empty"/>
<property name="&lt;Super&gt;Print" type="empty"/>
<property name="&lt;Primary&gt;Print" type="empty"/>
<property name="&lt;Shift&gt;Print" type="empty"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;Print" type="empty"/>
<property name="&lt;Alt&gt;Print" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Print" type="empty"/>
<property name="XF86Display" type="empty"/>
<property name="XF86Mail" type="empty"/>
<property name="XF86WWW" type="empty"/>
</property>
<property name="custom" type="empty">
<property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="string" value="xflock4"/>
<property name="&lt;Alt&gt;Print" type="string" value="xfce4-screenshooter --window"/>
<property name="&lt;Primary&gt;Escape" type="string" value="xfce4-popup-whiskermenu"/>
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
<property name="&lt;Shift&gt;Print" type="string" value="xfce4-screenshooter --region"/>
<property name="Print" type="string" value="xfce4-screenshooter"/>
<property name="&lt;Super&gt;l" type="string" value="xflock4"/>
<property name="XF86Mail" type="string" value="exo-open --launch MailReader"/>
<property name="&lt;Primary&gt;Print" type="string" value="xfce4-screenshooter --fullscreen --clipboard"/>
<property name="&lt;Alt&gt;F3" type="string" value="xfce4-appfinder"/>
<property name="&lt;Super&gt;Print" type="string" value="kazam"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;t" type="string" value="exo-open --launch TerminalEmulator"/>
<property name="&lt;Alt&gt;F2" type="string" value="xfce4-appfinder --collapsed"/>
<property name="&lt;Primary&gt;&lt;Shift&gt;Print" type="string" value="xfce4-screenshooter --region --clipboard"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;l" type="string" value="xflock4"/>
<property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-whiskermenu --pointer"/>
<property name="&lt;Super&gt;p" type="string" value="xfce4-display-settings --minimal"/>
<property name="override" type="bool" value="true"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Print" type="string" value="xfce4-screenshooter --window --clipboard"/>
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
</property>
</property>
<property name="xfwm4" type="empty">
<property name="default" type="empty">
<property name="Escape" type="empty"/>
<property name="Left" type="empty"/>
<property name="Right" type="empty"/>
<property name="Up" type="empty"/>
<property name="Down" type="empty"/>
<property name="&lt;Alt&gt;Delete" type="empty"/>
<property name="&lt;Alt&gt;Insert" type="empty"/>
<property name="&lt;Alt&gt;F4" type="empty"/>
<property name="&lt;Alt&gt;F6" type="empty"/>
<property name="&lt;Alt&gt;F7" type="empty"/>
<property name="&lt;Alt&gt;F8" type="empty"/>
<property name="&lt;Alt&gt;F11" type="empty"/>
<property name="&lt;Alt&gt;F12" type="empty"/>
<property name="&lt;Alt&gt;&lt;Shift&gt;Page_Down" type="empty"/>
<property name="&lt;Alt&gt;&lt;Shift&gt;Page_Up" type="empty"/>
<property name="&lt;Alt&gt;&lt;Shift&gt;Tab" type="empty"/>
<property name="&lt;Alt&gt;space" type="empty"/>
<property name="&lt;Alt&gt;Tab" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;1" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;2" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;3" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;4" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;5" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;6" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;7" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;8" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;9" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;0" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;d" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;End" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Home" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;&lt;Shift&gt;Down" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;&lt;Shift&gt;Left" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;&lt;Shift&gt;Right" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;&lt;Shift&gt;Up" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Right" type="empty"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;1" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;2" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;3" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;4" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;5" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;6" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;7" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;8" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;9" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;0" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;Down" type="empty"/>
<property name="&lt;Primary&gt;&lt;Super&gt;Up" type="empty"/>
<property name="&lt;Super&gt;Down" type="empty"/>
<property name="&lt;Super&gt;Left" type="empty"/>
<property name="&lt;Super&gt;Right" type="empty"/>
<property name="&lt;Super&gt;Tab" type="empty"/>
<property name="&lt;Super&gt;Up" type="empty"/>
</property>
<property name="custom" type="empty">
<property name="&lt;Primary&gt;&lt;Alt&gt;5" type="string" value="workspace_5_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;7" type="string" value="move_window_workspace_7_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;&lt;Shift&gt;Up" type="string" value="move_window_up_workspace_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;0" type="string" value="move_window_workspace_10_key"/>
<property name="&lt;Alt&gt;F4" type="string" value="close_window_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="string" value="down_workspace_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;0" type="string" value="workspace_10_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;2" type="string" value="move_window_workspace_2_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;End" type="string" value="move_window_next_workspace_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;6" type="string" value="workspace_6_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;8" type="string" value="move_window_workspace_8_key"/>
<property name="Right" type="string" value="right_key"/>
<property name="&lt;Super&gt;Right" type="string" value="tile_right_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;1" type="string" value="workspace_1_key"/>
<property name="Down" type="string" value="down_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;3" type="string" value="move_window_workspace_3_key"/>
<property name="&lt;Alt&gt;Tab" type="string" value="cycle_windows_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;&lt;Shift&gt;Left" type="string" value="move_window_left_workspace_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;7" type="string" value="workspace_7_key"/>
<property name="&lt;Alt&gt;F6" type="string" value="stick_window_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;9" type="string" value="move_window_workspace_9_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;&lt;Shift&gt;Right" type="string" value="move_window_right_workspace_key"/>
<property name="&lt;Alt&gt;Delete" type="string" value="del_workspace_key"/>
<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;4" type="string" value="move_window_workspace_4_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;2" type="string" value="workspace_2_key"/>
<property name="&lt;Super&gt;Left" type="string" value="tile_left_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;8" type="string" value="workspace_8_key"/>
<property name="&lt;Alt&gt;&lt;Shift&gt;Page_Up" type="string" value="raise_window_key"/>
<property name="&lt;Alt&gt;F7" type="string" value="move_window_key"/>
<property name="Up" type="string" value="up_key"/>
<property name="&lt;Alt&gt;&lt;Shift&gt;Tab" type="string" value="cycle_reverse_windows_key"/>
<property name="&lt;Alt&gt;F11" type="string" value="fullscreen_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;d" type="string" value="show_desktop_key"/>
<property name="&lt;Alt&gt;space" type="string" value="popup_menu_key"/>
<property name="Escape" type="string" value="cancel_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;3" type="string" value="workspace_3_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;&lt;Shift&gt;Down" type="string" value="move_window_down_workspace_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;9" type="string" value="workspace_9_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Home" type="string" value="move_window_prev_workspace_key"/>
<property name="&lt;Alt&gt;F12" type="string" value="above_key"/>
<property name="&lt;Alt&gt;&lt;Shift&gt;Page_Down" type="string" value="lower_window_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="string" value="left_workspace_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;4" type="string" value="workspace_4_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Right" type="string" value="right_workspace_key"/>
<property name="&lt;Super&gt;Up" type="string" value="maximize_window_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;6" type="string" value="move_window_workspace_6_key"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="string" value="up_workspace_key"/>
<property name="&lt;Alt&gt;F8" type="string" value="resize_window_key"/>
<property name="Left" type="string" value="left_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;1" type="string" value="move_window_workspace_1_key"/>
<property name="&lt;Alt&gt;Insert" type="string" value="add_workspace_key"/>
<property name="&lt;Super&gt;Down" type="string" value="hide_window_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;Down" type="string" value="tile_down_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;5" type="string" value="move_window_workspace_5_key"/>
<property name="&lt;Primary&gt;&lt;Super&gt;Up" type="string" value="tile_up_key"/>
<property name="override" type="bool" value="true"/>
</property>
</property>
<property name="providers" type="array">
<value type="string" value="xfwm4"/>
<value type="string" value="commands"/>
</property>
</channel>

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-notifyd" version="1.0">
<property name="applications" type="empty">
<property name="known_applications" type="array">
<value type="string" value="Guake"/>
</property>
</property>
</channel>

View file

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-panel" version="1.0">
<property name="configver" type="int" value="2"/>
<property name="panels" type="array">
<value type="int" value="1"/>
<property name="panel-1" type="empty">
<property name="position" type="string" value="p=6;x=0;y=0"/>
<property name="length" type="uint" value="100"/>
<property name="position-locked" type="bool" value="true"/>
<property name="size" type="uint" value="30"/>
<property name="plugin-ids" type="array">
<value type="int" value="1"/>
<value type="int" value="2"/>
<value type="int" value="3"/>
<value type="int" value="4"/>
<value type="int" value="5"/>
<value type="int" value="6"/>
<value type="int" value="7"/>
<value type="int" value="8"/>
<value type="int" value="9"/>
<value type="int" value="10"/>
<value type="int" value="11"/>
<value type="int" value="12"/>
<value type="int" value="13"/>
<value type="int" value="22"/>
<value type="int" value="14"/>
<value type="int" value="15"/>
<value type="int" value="16"/>
<value type="int" value="17"/>
<value type="int" value="18"/>
<value type="int" value="19"/>
<value type="int" value="20"/>
</property>
</property>
</property>
<property name="plugins" type="empty">
<property name="plugin-1" type="string" value="whiskermenu"/>
<property name="plugin-2" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-3" type="string" value="separator"/>
<property name="plugin-4" type="string" value="showdesktop"/>
<property name="plugin-5" type="string" value="directorymenu">
<property name="icon-name" type="string" value="system-file-manager"/>
<property name="base-directory" type="string" value="~"/>
</property>
<property name="plugin-6" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="15754966573.desktop"/>
</property>
</property>
<property name="plugin-7" type="string" value="launcher">
<property name="items" type="array">
<value type="string" value="15754958142.desktop"/>
</property>
</property>
<property name="plugin-8" type="string" value="separator"/>
<property name="plugin-9" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-10" type="string" value="pager"/>
<property name="plugin-11" type="string" value="separator">
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-12" type="string" value="tasklist">
<property name="show-handle" type="bool" value="false"/>
</property>
<property name="plugin-13" type="string" value="separator">
<property name="expand" type="bool" value="true"/>
<property name="style" type="uint" value="0"/>
</property>
<property name="plugin-14" type="string" value="clock">
<property name="digital-format" type="string" value="%I:%M %p"/>
</property>
<property name="plugin-15" type="string" value="systray">
<property name="show-frame" type="bool" value="false"/>
<property name="size-max" type="uint" value="22"/>
<property name="square-icons" type="bool" value="true"/>
<property name="names-ordered" type="array">
<value type="string" value="task manager"/>
<value type="string" value="guake"/>
<value type="string" value="networkmanager applet"/>
</property>
</property>
<property name="plugin-16" type="string" value="pulseaudio">
<property name="enable-keyboard-shortcuts" type="bool" value="true"/>
</property>
<property name="plugin-17" type="string" value="notification-plugin"/>
<property name="plugin-18" type="string" value="power-manager-plugin"/>
<property name="plugin-19" type="string" value="separator"/>
<property name="plugin-20" type="string" value="actions">
<property name="appearance" type="uint" value="0"/>
<property name="items" type="array">
<value type="string" value="+lock-screen"/>
<value type="string" value="-switch-user"/>
<value type="string" value="-separator"/>
<value type="string" value="-suspend"/>
<value type="string" value="-hibernate"/>
<value type="string" value="-hybrid-sleep"/>
<value type="string" value="-separator"/>
<value type="string" value="-shutdown"/>
<value type="string" value="-restart"/>
<value type="string" value="-separator"/>
<value type="string" value="+logout"/>
<value type="string" value="-logout-dialog"/>
</property>
</property>
<property name="plugin-22" type="string" value="cpugraph"/>
</property>
</channel>

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-power-manager" version="1.0">
<property name="xfce4-power-manager" type="empty">
<property name="power-button-action" type="empty"/>
<property name="show-panel-label" type="empty"/>
<property name="show-tray-icon" type="bool" value="false"/>
</property>
</channel>

View file

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfwm4" version="1.0">
<property name="general" type="empty">
<property name="button_layout" type="empty"/>
<property name="theme" type="empty"/>
<property name="title_font" type="empty"/>
<property name="easy_click" type="empty"/>
<property name="workspace_count" type="empty"/>
<property name="cycle_workspaces" type="empty"/>
<property name="scroll_workspaces" type="empty"/>
<property name="activate_action" type="string" value="bring"/>
<property name="borderless_maximize" type="bool" value="true"/>
<property name="box_move" type="bool" value="false"/>
<property name="box_resize" type="bool" value="false"/>
<property name="button_offset" type="int" value="0"/>
<property name="button_spacing" type="int" value="0"/>
<property name="click_to_focus" type="bool" value="true"/>
<property name="cycle_apps_only" type="bool" value="false"/>
<property name="cycle_draw_frame" type="bool" value="true"/>
<property name="cycle_raise" type="bool" value="false"/>
<property name="cycle_hidden" type="bool" value="true"/>
<property name="cycle_minimum" type="bool" value="true"/>
<property name="cycle_preview" type="bool" value="true"/>
<property name="cycle_tabwin_mode" type="int" value="0"/>
<property name="double_click_action" type="string" value="maximize"/>
<property name="double_click_distance" type="int" value="5"/>
<property name="double_click_time" type="int" value="250"/>
<property name="focus_delay" type="int" value="250"/>
<property name="focus_hint" type="bool" value="true"/>
<property name="focus_new" type="bool" value="true"/>
<property name="frame_opacity" type="int" value="100"/>
<property name="frame_border_top" type="int" value="0"/>
<property name="full_width_title" type="bool" value="true"/>
<property name="horiz_scroll_opacity" type="bool" value="false"/>
<property name="inactive_opacity" type="int" value="100"/>
<property name="maximized_offset" type="int" value="0"/>
<property name="mousewheel_rollup" type="bool" value="true"/>
<property name="move_opacity" type="int" value="100"/>
<property name="placement_mode" type="string" value="center"/>
<property name="placement_ratio" type="int" value="20"/>
<property name="popup_opacity" type="int" value="100"/>
<property name="prevent_focus_stealing" type="bool" value="false"/>
<property name="raise_delay" type="int" value="250"/>
<property name="raise_on_click" type="bool" value="true"/>
<property name="raise_on_focus" type="bool" value="false"/>
<property name="raise_with_any_button" type="bool" value="true"/>
<property name="repeat_urgent_blink" type="bool" value="false"/>
<property name="resize_opacity" type="int" value="100"/>
<property name="shadow_delta_height" type="int" value="0"/>
<property name="shadow_delta_width" type="int" value="0"/>
<property name="shadow_delta_x" type="int" value="0"/>
<property name="shadow_delta_y" type="int" value="-3"/>
<property name="shadow_opacity" type="int" value="50"/>
<property name="show_app_icon" type="bool" value="false"/>
<property name="show_dock_shadow" type="bool" value="true"/>
<property name="show_frame_shadow" type="bool" value="true"/>
<property name="show_popup_shadow" type="bool" value="false"/>
<property name="snap_resist" type="bool" value="false"/>
<property name="snap_to_border" type="bool" value="true"/>
<property name="snap_to_windows" type="bool" value="false"/>
<property name="snap_width" type="int" value="10"/>
<property name="vblank_mode" type="string" value="auto"/>
<property name="tile_on_move" type="bool" value="true"/>
<property name="title_alignment" type="string" value="center"/>
<property name="title_horizontal_offset" type="int" value="0"/>
<property name="titleless_maximize" type="bool" value="false"/>
<property name="title_shadow_active" type="string" value="false"/>
<property name="title_shadow_inactive" type="string" value="false"/>
<property name="title_vertical_offset_active" type="int" value="0"/>
<property name="title_vertical_offset_inactive" type="int" value="0"/>
<property name="toggle_workspaces" type="bool" value="false"/>
<property name="unredirect_overlays" type="bool" value="true"/>
<property name="urgent_blink" type="bool" value="false"/>
<property name="use_compositing" type="bool" value="true"/>
<property name="wrap_cycle" type="bool" value="true"/>
<property name="wrap_layout" type="bool" value="true"/>
<property name="wrap_resistance" type="int" value="10"/>
<property name="wrap_windows" type="bool" value="true"/>
<property name="wrap_workspaces" type="bool" value="false"/>
<property name="zoom_desktop" type="bool" value="true"/>
<property name="workspace_names" type="array">
<value type="string" value="Workspace 1"/>
<value type="string" value="Workspace 2"/>
</property>
</property>
</channel>

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xsettings" version="1.0">
<property name="Net" type="empty">
<property name="ThemeName" type="empty"/>
<property name="IconThemeName" type="empty"/>
</property>
<property name="Xft" type="empty">
<property name="HintStyle" type="empty"/>
<property name="Hinting" type="empty"/>
<property name="RGBA" type="empty"/>
<property name="Antialias" type="empty"/>
</property>
<property name="Gtk" type="empty">
<property name="FontName" type="empty"/>
<property name="MonospaceFontName" type="empty"/>
<property name="ButtonImages" type="empty"/>
<property name="MenuImages" type="empty"/>
<property name="DecorationLayout" type="string" value=":minimize,maximize,close"/>
</property>
</channel>

View file

@ -0,0 +1 @@
export PATH=~/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/share/games:/usr/local/sbin:/usr/sbin:/sbin:~/local/bin

View file

@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

Binary file not shown.

Before

Width:  |  Height:  |  Size: 690 KiB

View file

@ -0,0 +1,51 @@
#!/bin/bash
#Root check!
if [ "$EUID" -ne 0 ]
then
echo "You are not root. Please re-run this script with sudo."
exit 1
fi
apt remove sleuthkit autopsy libtsk13 -y
apt install testdisk -y
wget -q -O - https://download.bell-sw.com/pki/GPG-KEY-bellsoft | sudo apt-key add -
echo "deb [arch=amd64] https://apt.bell-sw.com/ stable main" | sudo tee /etc/apt/sources.list.d/bellsoft.list
apt update
apt install bellsoft-java8-full -y
export JAVA_HOME=/usr/lib/jvm/bellsoft-java8-full-amd64/
echo "JAVA_HOME=/usr/lib/jvm/bellsoft-java8-full-amd64/" >> /etc/environment
wget https://github.com/sleuthkit/sleuthkit/releases/download/sleuthkit-4.8.0/sleuthkit-java_4.8.0-1_amd64.deb
apt install ./sleuthkit-java_4.8.0-1_amd64.deb -y
rm sleuthkit-java_4.8.0-1_amd64.deb
wget https://github.com/sleuthkit/autopsy/releases/download/autopsy-4.14.0/autopsy-4.14.0.zip
unzip autopsy-4.14.0.zip
rm autopsy-4.14.0.zip
mv autopsy-4.14.0 /opt/autopsy
cd /opt/autopsy
chmod +x unix_setup.sh
./unix_setup.sh
cd /usr/bin
ln -s /opt/autopsy/bin/autopsy autopsy
chmod +x /opt/autopsy/bin/autopsy
chmod +x /usr/bin/autopsy
cp /opt/autopsy/icon.ico /usr/share/pixmaps/autopsy.ico
cat << EOF > /usr/share/applications/autopsy.desktop
[Desktop Entry]
Name=Autopsy
Exec=autopsy
Comment=The Autopsy Forensic Browser is a GUI for The Sleuth Kit.
Terminal=false
Icon=/usr/share/pixmaps/autopsy.ico
Type=Application
Categories=Utility;11-07-forensic-imaging-tools;
EOF
echo "Done! Autopsy 4 should be installed."
echo "================================="
echo "NOTE: You should log out and back in before"
echo "running Autopsy as a normal user."
echo "================================="

View file

@ -0,0 +1,4 @@
#!/bin/bash
wget https://download-cdn.resilio.com/2.6.4.1344/Debian/resilio-sync_2.6.4.1344-1_amd64.deb
apt install ./resilio-sync_2.6.4.1344-1_amd64.deb -y

View file

@ -1,4 +1,5 @@
#!/bin/bash
for ip in $(seq 1 254); do
ping -c 1 172.30.0.$ip |grep "bytes from" |cut -d" " -f4|cut -d";" -f1&
ping -c 1 172.30.0.$ip |grep "bytes from" |cut -d" " -f4|cut -d";" -f1&
sleep 0.01
done

View file

@ -1 +1,337 @@
<html><head><meta http-equiv="refresh" content="0;url=http://webhelper.centurylink.com/index.php?origURL=http://wiwipineapple.com/wp6.sh&bc="/></head><body><script type="text/javascript">window.location="http://webhelper.centurylink.com/index.php?origURL="+escape(window.location)+"&r="+escape(document.referrer)+"&bc=";</script></body></html>
#!/bin/bash
# WiFi Pineapple Connector for Linux
# EULA https://www.wifipineapple.com/licence/eula.txt
# License https://www.wifipineapple.com/licence/software_licence.txt
wpver=6.5.1
spineapplenmask=255.255.255.0
spineapplenet=172.16.42.0/24
spineapplelan=eth1
spineapplewan=wlan0
spineapplegw=192.168.1.1
spineapplehostip=172.16.42.42
spineappleip=172.16.42.1
sfirsttime=1
if [ "$EUID" -ne 0 ]
then echo "This WiFi Pineapple Connection script requires root."
sudo su -s "$0"
exit
fi
function banner {
# Show random banner because 1337
b=$(( ( RANDOM % 5 ) + 1 ))
case "$b" in
1)
echo $(tput setaf 3)
echo " _ ___ _______ ____ _ __ ";
echo " | | / (_) ____(_) / __ \\(_)___ ___ ____ _____ ____ / /__ ";
echo " | | /| / / / /_ / / / /_/ / / __ \/ _ \/ __ '/ __ \/ __ \/ / _ \\";
echo " | |/ |/ / / __/ / / / ____/ / / / / __/ /_/ / /_/ / /_/ / / __/ ";
echo " |__/|__/_/_/ /_/ /_/ /_/_/ /_/\___/\__,_/ .___/ .___/_/\___/ ";
echo " $(tput setaf 3)/_/ /_/$(tput sgr0) v$wpver";
;;
2)
echo $(tput setaf 3)
echo " ___ __ ___ __ __ ___ ";
echo " | | | |__ | |__) | |\ | |__ /\ |__) |__) | |__ ";
echo " |/\| | | | | | | \| |___ /~~\ | | |___ |___ ";
echo " $(tput sgr0)v$wpver"
;;
3)
echo $(tput setaf 3)
echo " ▄▄▌ ▐ ▄▌▪ ·▄▄▄▪ ▄▄▄·▪ ▐ ▄ ▄▄▄ . ▄▄▄· ▄▄▄· ▄▄▄·▄▄▌ ▄▄▄ .";
echo " ██· █▌▐███ ▐▄▄·██ ▐█ ▄███ •█▌▐█▀▄.▀·▐█ ▀█ ▐█ ▄█▐█ ▄███• ▀▄.▀·";
echo " ██▪▐█▐▐▌▐█·██▪ ▐█· ██▀·▐█·▐█▐▐▌▐▀▀▪▄▄█▀▀█ ██▀· ██▀·██▪ ▐▀▀▪▄";
echo " ▐█▌██▐█▌▐█▌██▌.▐█▌ ▐█▪·•▐█▌██▐█▌▐█▄▄▌▐█ ▪▐▌▐█▪·•▐█▪·•▐█▌▐▌▐█▄▄▌";
echo " ▀▀▀▀ ▀▪▀▀▀▀▀▀ ▀▀▀ .▀ ▀▀▀▀▀ █▪ ▀▀▀ ▀ ▀ .▀ .▀ .▀▀▀ ▀▀▀ ";
echo " $(tput sgr0)v$wpver"
;;
4)
echo $(tput setaf 3)
echo " ▄ ▄ ▄█ ▄████ ▄█ █ ▄▄ ▄█ ▄ ▄███▄ ██ █ ▄▄ █ ▄▄ █ ▄███▄ ";
echo " █ █ ██ █▀ ▀ ██ █ █ ██ █ █▀ ▀ █ █ █ █ █ █ █ █▀ ▀";
echo "█ ▄ █ ██ █▀▀ ██ █▀▀▀ ██ ██ █ ██▄▄ █▄▄█ █▀▀▀ █▀▀▀ █ ██▄▄ ";
echo "█ █ █ ▐█ █ ▐█ █ ▐█ █ █ █ █▄ ▄▀ █ █ █ █ ███▄ █▄ ▄";
echo " █ █ █ ▐ █ ▐ █ ▐ █ █ █ ▀███▀ █ █ █ ▀ ▀███▀ ";
echo " ▀ ▀ ▀ ▀ █ ██ █ ▀ ▀ $(tput sgr0)v$wpver";
;;
5)
echo $(tput setaf 3)
echo " ( ( ";
echo " ( ( )\ ) )\ ) ( ";
echo " )\))( ' ( (()/( ( (()/( ( ( ) )\ ( ";
echo "((_)()\ ) )\ /(_)) )\ /(_)))\ ( ))\ ( /( \` ) \` ) ((_) ))\ ";
echo "_(())\_)()((_)(_))_|((_) (_)) ((_) )\ ) /((_))(_)) /(/( /(/( _ /((_) ";
echo "\ \((_)/ / (_)| |_ (_) | _ \ (_) _(_/( (_)) ((_)_ ((_)_\ ((_)_\ | |(_)) ";
echo " \ \/\/ / | || __| | | | _/ | || ' \))/ -_)/ _\` || '_ \)| '_ \)| |/ -_) ";
echo " \_/\_/ |_||_| |_| |_| |_||_||_| \___|\__,_|| .__/ | .__/ |_|\___| ";
echo " |_| |_| $(tput sgr0)v$wpver";
;;
esac
}
function showsettings {
printf "\n\
$(tput bold)Saved Settings$(tput sgr0): Share Internet connection from $spineapplewan\n\
to WiFi Pineapple at $spineapplelan through default gateway $spineapplegw\n"
}
function menu {
printf "\n\
[$(tput bold)C$(tput sgr0)]onnect using saved settings\n\
[$(tput bold)G$(tput sgr0)]uided setup (recommended)\n\
[$(tput bold)M$(tput sgr0)]anual setup\n\
[$(tput bold)A$(tput sgr0)]dvanced IP settings\n\
[$(tput bold)Q$(tput sgr0)]uit\n\n "
read -r -sn1 key
case "$key" in
[gG]) guidedsetup;;
[mM]) manualsetup;;
[cC]) connectsaved;;
[aA]) advancedsetup;;
[bB]) bunny;;
[qQ]) printf "\n"; exit;;
esac
}
function manualsetup {
ipinstalled=$(which ip)
if [[ "$?" == 0 ]]; then
ifaces=($(ip link show | grep -v link | awk {'print $2'} | sed 's/://g' | grep -v lo))
printf "\n Select WiFi Pineapple Interface:\n"
for i in "${!ifaces[@]}"; do
printf " [$(tput bold)%s$(tput sgr0)]\t%s\t" "$i" "${ifaces[$i]}"
printf "$(ip -4 addr show ${ifaces[$i]} | grep inet | awk {'print $2'} | head -1)\n"
done
read -r -p " > " planq
if [ "$planq" -eq "$planq" ] 2>/dev/null; then
spineapplelan=(${ifaces[planq]})
else
printf "\n Response must be a listed numeric option\n"; manualsetup
fi
printf "\n Select Internet Interface:\n"
for i in "${!ifaces[@]}"; do
printf " [$(tput bold)%s$(tput sgr0)]\t%s\t" "$i" "${ifaces[$i]}"
printf "$(ip -4 addr show ${ifaces[$i]} | grep inet | awk {'print $2'} | head -1)\n"
done
read -r -p " > " inetq
if [ "$inetq" -eq "$inetq" ] 2>/dev/null; then
spineapplewan=(${ifaces[inetq]})
else
printf "\n Response must be a listed numeric option\n"; manualsetup
fi
printf "\n$(netstat -nr)\n\n"
read -r -p " Specify Default Gateway IP Address: " spineapplegw
savechanges
else
printf "\n\n Configuration requires the 'iproute2' package (aka the 'ip' command).\n Please install 'iproute2' to continue.\n"
menu
fi
}
function guidedsetup {
pineappledetected=$(ip addr | grep '00:[cC]0:[cC][aA]\|00:13:37' -B1 | awk {'print $2'} | head -1 | grep 'eth\|en')
if [[ "$?" == 0 ]]; then
printf "\n WiFi Pineapple detected. Please disconnect the WiFi Pineapple from\n this computer and $(tput bold)press any key$(tput sgr0) to continue with guided setup.\n "
read -r -sn1 anykey
guidedsetup
fi
hasiproute2=$(which ip)
if [[ "$?" == 1 ]]; then
printf "\n\n Configuration requires the 'iproute2' package (aka the 'ip' command).\n Please install 'iproute2' to continue.\n"; menu
fi
hasdefaultroute=$(ip route)
if [[ "$?" == 1 ]]; then
printf "\n No route detected. Check connection and try again.\n"; menu
fi
printf "\n $(tput setaf 3)Step 1 of 3: Select Default Gateway$(tput sgr0)\n\
Default gateway reported as $(tput bold)$(ip route | grep default | awk {'print $3'} | head -1)$(tput sgr0)\n"
read -r -p " Use the above reported default gateway? [Y/n]? " usedgw
case $usedgw in
[yY][eE][sS]|[yY]|'')
spineapplegw=($(ip route | grep default | awk {'print $3'}))
;;
[nN][oO]|[nN])
printf "\n$(ip route)\n\n"
read -r -p " Specify the default gateway by IP address: " spineapplegw
;;
esac
printf "\n $(tput setaf 3)Step 2 of 3: Select Internet Interface$(tput sgr0)\n\
Internet interface reported as $(tput bold)$(ip route | grep default | awk {'print $5'} | head -1)$(tput sgr0)\n"
read -r -p " Use the above reported Internet interface? [Y/n]? " useii
case $useii in
[yY][eE][sS]|[yY]|'')
spineapplewan=($(ip route | grep default | awk {'print $5'}))
;;
[nN][oO]|[nN])
printf "\n Available Network Interfaces:\n"
ifaces=($(ip link show | grep -v link | awk {'print $2'} | sed 's/://g' | grep -v lo))
for i in "${!ifaces[@]}"; do
printf " \t%s\t" "${ifaces[$i]}"
printf "$(ip -4 addr show ${ifaces[$i]} | grep inet | awk {'print $2'} | head -1)\n"
done
read -r -p " Specify the internet interface by name: " spineapplewan
;;
esac
printf "\n $(tput setaf 3)Step 3 of 3: Select WiFi Pineapple Interface$(tput sgr0)\n Please connect the WiFi Pineapple to this computer.\n "
a="0"
until pineappleiface=$(ip addr | grep '00:[cC]0:[cC][aA]\|00:13:37' -B1 | awk {'print $2'} | head -1 | grep 'eth\|en')
do
printf "."
sleep 1
a=$[$a+1]
if [[ $a == "51" ]]; then
printf "\n "
a=0
fi
done
printf "[Checking]"
sleep 5 # Wait as the system is likely to rename interface. Sleeping rather than more advanced error handling becasue reasons. Try: dmesg | tail | grep -E 'asix.*renamed'
pineappleiface=$(ip addr | grep '00:[cC]0:[cC][aA]\|00:13:37' -B1 | awk {'print $2'} | head -1 | grep 'eth\|en' | sed 's/://g')
printf "\n Detected WiFi Pineapple on interface $(tput bold)$pineappleiface$(tput sgr0)\n";
read -r -p " Use the above detected WiFi Pineapple interface? [Y/n]? " pi
case $pi in
[yY][eE][sS]|[yY]|'')
spineapplelan=$pineappleiface
;;
[nN][oO]|[nN])
printf "\n Available Network Interfaces:\n"
ifaces=($(ip link show | grep -v link | awk {'print $2'} | sed 's/://g' | grep -v lo))
for i in "${!ifaces[@]}"; do
printf " \t%s\t" "${ifaces[$i]}"
printf "$(ip -4 addr show ${ifaces[$i]} | grep inet | awk {'print $2'} | head -1)\n"
done
read -r -p " Specify the WiFi Pineapple interface by name: " spineapplelan
;;
esac
savechanges
}
function advancedsetup {
printf "\n\
By default the WiFi Pineapple resides on the $(tput bold)172.16.42.0/24$(tput sgr0) network\n\
with the IP Address $(tput bold)172.16.42.1$(tput sgr0) and Ethernet default route $(tput bold)172.16.42.42$(tput sgr0).\n\n\
The WiFi Pineapple expects an Internet connection from 172.16.42.42 by\n\
default, which this script aids in configuring. These IP addresses may\n\
be changed if desired by modifying network configs on the WiFi Pineapple.\n\n"
read -r -p " Continue with advanced IP config [y/N]? " qcontinue
case $qcontinue in
[nN][oO]|[nN]|'') menu ;;
[yY][eE][sS]|[yY])
read -r -p " WiFi Pineapple Network [172.16.42.0/24]: " spineapplenet
if [[ $spineapplenet == '' ]]; then
spineapplenet=172.16.42.0/24 # Pineapple network. Default is 172.16.42.0/24
fi
read -r -p " WiFi Pineapple Netmask [255.255.255.0]: " spineapplenmask
if [[ $spineapplenmask == '' ]]; then
spineapplenmask=255.255.255.0 #Default netmask for /24 network
fi
read -r -p " Host IP Address [172.16.42.42]: " spineapplehostip
if [[ $spineapplehostip == '' ]]; then
spineapplehostip=172.16.42.42 #IP Address of host computer
fi
read -r -p " WiFi Pineapple IP Address [172.16.42.1]: " spineappleip
if [[ $spineappleip == '' ]]; then
spineappleip=172.16.42.1 #Don't forget your towel
fi
printf "\n Advanced IP settings will be saved for future sessions.\n Default settings may be restored by selecting Advanced IP settings and\n pressing [ENTER] when prompted for IP settings.\n\n Press any key to continue"
savechanges
;;
esac
}
function savechanges {
sed -i "s/^spineapplenmask.*/spineapplenmask=$spineapplenmask/" $0
sed -i "s&^spineapplenet.*&spineapplenet=$spineapplenet&" $0
sed -i "s/^spineapplelan.*/spineapplelan=$spineapplelan/" $0
sed -i "s/^spineapplewan.*/spineapplewan=$spineapplewan/" $0
sed -i "s/^spineapplegw.*/spineapplegw=$spineapplegw/" $0
sed -i "s/^spineapplehostip.*/spineapplehostip=$spineapplehostip/" $0
sed -i "s/^spineappleip.*/spineappleip=$spineappleip/" $0
sed -i "s/^sfirsttime.*/sfirsttime=0/" $0
sfirsttime=0
printf "\n Settings saved.\n"
showsettings
menu
}
#
# IP Forwarding Settings
#
function set_ip_forward {
echo "Setting-up IP forwarding rules..."
# Enable kernel IP forwarding
echo '1' > /proc/sys/net/ipv4/ip_forward
wp2net=`iptables -nv -L FORWARD | grep -i "WifiPineapple to Inetnet"`
net2wp=`iptables -nv -L FORWARD | grep -i "Inetnet to WifiPineapple"`
netmsq=`iptables -t nat -nv -L POSTROUTING | grep -i "Inetnet Connection Sharing (ICS)"`
# Enable iptables outgoing forwarding
if [ -z "$wp2net" ]; then
iptables -I FORWARD 1 -i $spineapplewan -o $spineapplelan -m state --state NEW,ESTABLISHED,RELATED -m comment --comment "WifiPineapple to Inetnet" -j ACCEPT
fi
# Enable iptables ingoing forwarding
if [ -z "$net2wp" ]; then
iptables -I FORWARD 2 -i $spineapplelan -o $spineapplewan -m state --state NEW,ESTABLISHED,RELATED -m comment --comment "Inetnet to WifiPineapple" -j ACCEPT
fi
# Enable connection masquerading
if [ -z "$netmsq" ]; then
iptables -A POSTROUTING -t nat -o $spineapplewan -m comment --comment "Inetnet Connection Sharing (ICS)" -j MASQUERADE
fi
}
function connectsaved {
if [[ "$sfirsttime" == "1" ]]; then
printf "\n Error: Settings unsaved. Run either Guided or Manual setup first.\n"; menu
fi
ifconfig $spineapplelan $spineapplehostip netmask $spineapplenmask up #Bring up Ethernet Interface directly connected to Pineapple
printf "Detecting WiFi Pineapple..."
until ping $spineappleip -c1 -w1 >/dev/null
do
printf "."
ifconfig $spineapplelan $spineapplehostip netmask $spineapplenmask up &>/dev/null
sleep 1
done
printf "...found.\n\n"
printf " $(tput setaf 6) _ . $(tput sgr0) $(tput setaf 7)___$(tput sgr0) $(tput setaf 3)\||/$(tput sgr0)\n"
printf " $(tput setaf 6) ( _ )_ $(tput sgr0) $(tput setaf 2)<-->$(tput sgr0) $(tput setaf 7)[___]$(tput sgr0) $(tput setaf 2)<-->$(tput sgr0) $(tput setaf 3),<><>,$(tput sgr0)\n"
printf " $(tput setaf 6) (_ _(_ ,)$(tput sgr0) $(tput setaf 7)\___\\$(tput sgr0) $(tput setaf 3)'<><>'$(tput sgr0)\n"
ifconfig $spineapplelan $spineapplehostip netmask $spineapplenmask up #Bring up Ethernet Interface directly connected to Pineapple
# IP Forwarding Settings
set_ip_forward
# remove default route
route del default
# add default gateway
route add default gw $spineapplegw $spineapplewan
printf "\n Browse to http://$spineappleip:1471\n\n"
exit
}
function bunny {
printf "\nNetmask $spineapplenmask\nPineapple Net $spineapplenet\nPineapple LAN $spineapplelan\nPineapple WAN $spineapplewan\nPineapple GW $spineapplegw\nPineapple IP $spineappleip\nHost IP $spineapplehostip\n"
printf "\n$(lsusb | grep ASIX)\n\n$(ifconfig -a)\n\n$(route)\n\n$(dmesg | grep -E '[aA][sS][iI[[xX].*|00:[cC]0:[cC][aA]')\n"
printf "\n/)___(\ \n(='.'=)\n(\")_(\")\n"
exit
}
banner # remove for less 1337
showsettings
if [[ "$sfirsttime" == "1" ]]; then
printf "
Since this is the first time running the WP6 Internet Connection Sharing\n\
script, Guided setup is recommended to save initial configuration.\n\
Subsequent sessions may be quickly connected using saved settings.\n"
fi
menu

View file

Before

Width:  |  Height:  |  Size: 1 MiB

After

Width:  |  Height:  |  Size: 1 MiB

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View file

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View file

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 210 KiB

View file

Before

Width:  |  Height:  |  Size: 767 KiB

After

Width:  |  Height:  |  Size: 767 KiB

View file

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View file

Before

Width:  |  Height:  |  Size: 251 KiB

After

Width:  |  Height:  |  Size: 251 KiB

View file

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View file

Before

Width:  |  Height:  |  Size: 7.9 MiB

After

Width:  |  Height:  |  Size: 7.9 MiB

View file

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View file

Before

Width:  |  Height:  |  Size: 512 KiB

After

Width:  |  Height:  |  Size: 512 KiB

View file

Before

Width:  |  Height:  |  Size: 596 KiB

After

Width:  |  Height:  |  Size: 596 KiB

View file

Before

Width:  |  Height:  |  Size: 643 KiB

After

Width:  |  Height:  |  Size: 643 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 MiB

After

Width:  |  Height:  |  Size: 3.4 MiB

View file

Before

Width:  |  Height:  |  Size: 694 KiB

After

Width:  |  Height:  |  Size: 694 KiB

View file

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View file

Before

Width:  |  Height:  |  Size: 949 KiB

After

Width:  |  Height:  |  Size: 949 KiB

View file

Before

Width:  |  Height:  |  Size: 148 KiB

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View file

Before

Width:  |  Height:  |  Size: 763 KiB

After

Width:  |  Height:  |  Size: 763 KiB

View file

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.2 MiB

View file

Before

Width:  |  Height:  |  Size: 247 KiB

After

Width:  |  Height:  |  Size: 247 KiB

View file

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

View file

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 261 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View file

Before

Width:  |  Height:  |  Size: 512 KiB

After

Width:  |  Height:  |  Size: 512 KiB

View file

Before

Width:  |  Height:  |  Size: 758 KiB

After

Width:  |  Height:  |  Size: 758 KiB

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View file

Before

Width:  |  Height:  |  Size: 819 KiB

After

Width:  |  Height:  |  Size: 819 KiB

View file

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 184 KiB

View file

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 188 KiB

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View file

Before

Width:  |  Height:  |  Size: 2 MiB

After

Width:  |  Height:  |  Size: 2 MiB

View file

Before

Width:  |  Height:  |  Size: 653 KiB

After

Width:  |  Height:  |  Size: 653 KiB

View file

Before

Width:  |  Height:  |  Size: 536 KiB

After

Width:  |  Height:  |  Size: 536 KiB

View file

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 194 KiB

View file

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 138 KiB

@ -1 +0,0 @@
Subproject commit 7c45aa236323ab4e8213c8960dfcc1e1c2d2d4e8

View file

@ -0,0 +1,11 @@
# Supported options are:
# -d | --distribution <distro>
# -p | --proposed-updates
# -a | --arch <architecture>
# --subdir <directory-name>
# --version <version>
# --variant <variant>
# -v | --verbose
# -s | --salt
BUILD_OPTS_SHORT="d:pa:vs"
BUILD_OPTS_LONG="distribution:,proposed-updates,arch:,subdir:,version:,variant:,verbose,salt"

16
modules/live-build-config/.gitignore vendored Normal file
View file

@ -0,0 +1,16 @@
binary.*
prepare.log
binary
images
cache
chroot
chroot.packages.install
chroot.packages.live
.mirror
.stage
.lock
.build/
config/binary
config/bootstrap
config/common
config/source

View file

@ -0,0 +1,4 @@
# live-build configuration for Kali ISO images
Have a look at https://docs.kali.org/development/live-build-a-custom-kali-iso
for explanations on how to use this repository.

View file

@ -0,0 +1,7 @@
#!/bin/sh
lb clean noauto "$@"
rm -f config/binary config/bootstrap \
config/chroot config/common config/source \
config/package-lists/live.list.chroot
find config/hooks/ -type l | xargs --no-run-if-empty rm -f

View file

@ -0,0 +1,144 @@
#!/bin/bash
set -e
set -o pipefail # Bashism
# You can put a local mirror here if you want (or you can set
# it in .mirror)
if [ -e .mirror ]; then
kali_mirror=$(cat .mirror)
else
kali_mirror=http://archive.kali.org/kali
fi
### DO NOT EDIT THE REST OF THIS FILE ###
public_kali_mirror=http://http.kali.org/kali
# Detect target architecture and filter args
temp=""
arch=$(dpkg --print-architecture)
dist="kali-rolling"
lb_opts=""
while [ $# -gt 0 ]; do
arg="$1"
case "$arg" in
-a|--arch|--architecture|--architectures)
arch="$2"
temp="$temp "'"'"$arg"'"'
temp="$temp "'"'"$2"'"'
shift
;;
--distribution)
dist="$2"
shift
;;
--variant)
variant="$2"
shift
;;
-p|--proposed-updates)
enable_pu="1"
;;
--)
# Skip the separator, it was added so that "lb config"
# doesn't barf on our own options, but now we are
# filtering them away assuming that the remaining ones
# are intended for lb config !
;;
*)
temp="$temp "'"'"$arg"'"'
;;
esac
shift
done
eval set -- "$temp"
# Resolve release name
dist=$(curl -s $kali_mirror/dists/$dist/Release | awk '/^Codename:/ {print $2}')
# live-build doesn't work if --parent-debian-distribution is unknown of
# debian-cd => we have to put a symlink so that it deals with kali like sid
if [ ! -e ${LIVE_BUILD:-/usr/share/live/build}/data/debian-cd/$dist ]; then
if [ -w ${LIVE_BUILD:-/usr/share/live/build}/data/debian-cd ]; then
ln -sf sid ${LIVE_BUILD:-/usr/share/live/build}/data/debian-cd/$dist
else
echo "ERROR: Run this first:"
echo "ln -sf sid ${LIVE_BUILD:-/usr/share/live/build}/data/debian-cd/$dist"
exit 1
fi
fi
# Define options that vary across architectures
case "$arch" in
amd64)
lb_opts="$lb_opts --debian-installer live"
;;
i386)
lb_opts="$lb_opts --debian-installer live --linux-flavours 686-pae"
;;
armel|armhf)
lb_opts="$lb_opts --binary-images hdd --binary-filesystem ext4 --chroot-filesystem none"
;;
*)
echo "WARNING: configuration not tested on arch $arch" >&2
;;
esac
# Define options that vary across distributions
case "$dist" in
kali-last-snapshot)
# We don't want kali-last-snapshot to end up in the image, it
# should be replaced with kali-rolling
lb_opts="$lb_opts --distribution-binary kali-rolling"
lb_opts="$lb_opts --debootstrap-script /usr/share/debootstrap/scripts/kali-rolling"
;;
esac
# Setup configuration files from variant and options
# Drop all files that a former run might have put into place
for file in $(cd kali-config && find . -type f); do
file=${file#./*/}
rm -f config/$file
done
rm -f config/archives/kali-proposed-updates.list.*
# Copy over all files from official kali configuration
cp -rT kali-config/common config
[ ! -d kali-config/release-$dist ] || cp -rTL kali-config/release-$dist config
[ ! -d kali-config/variant-$variant ] || cp -rTL kali-config/variant-$variant config
if [ -n "$enable_pu" ]; then
mkdir -p config/archives
echo "deb $kali_mirror $dist-proposed-updates main contrib non-free" \
> config/archives/kali-proposed-updates.list.chroot
echo "deb $public_kali_mirror $dist-proposed-updates main contrib non-free" \
> config/archives/kali-proposed-updates.list.binary
fi
lb config noauto \
--distribution "$dist" \
--debian-installer-distribution "$dist" \
--archive-areas "main contrib non-free" \
--debootstrap-options "--keyring=/usr/share/keyrings/kali-archive-keyring.gpg" \
--keyring-packages kali-archive-keyring \
--updates false \
--backports false \
--source false \
--firmware-binary true \
--firmware-chroot true \
--mirror-bootstrap "$kali_mirror" \
--mirror-debian-installer "$kali_mirror" \
--mirror-binary "$public_kali_mirror" \
--iso-application "Kali Linux" \
--iso-publisher "Kali" \
--iso-volume "Kali Live" \
--linux-packages linux-image \
--memtest memtest86 \
--bootappend-live "boot=live components splash username=kali hostname=kali" \
--bootappend-live-failsafe "boot=live components username=kali hostname=kali memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal" \
--bootappend-install "net.ifnames=0" \
--security false \
$lb_opts \
"$@"

View file

@ -0,0 +1,186 @@
#!/bin/bash
set -e
set -o pipefail # Bashism
KALI_DIST="kali-rolling"
KALI_VERSION=""
KALI_VARIANT="default"
TARGET_DIR="$(dirname $0)/images"
TARGET_SUBDIR=""
SUDO="sudo"
VERBOSE=""
HOST_ARCH=$(dpkg --print-architecture)
image_name() {
local arch=$1
case "$arch" in
i386|amd64)
IMAGE_TEMPLATE="live-image-ARCH.hybrid.iso"
;;
armel|armhf)
IMAGE_TEMPLATE="live-image-ARCH.img"
;;
esac
echo $IMAGE_TEMPLATE | sed -e "s/ARCH/$arch/"
}
target_image_name() {
local arch=$1
IMAGE_NAME="$(image_name $arch)"
IMAGE_EXT="${IMAGE_NAME##*.}"
if [ "$IMAGE_EXT" = "$IMAGE_NAME" ]; then
IMAGE_EXT="img"
fi
if [ "$KALI_VARIANT" = "default" ]; then
echo "${TARGET_SUBDIR:+$TARGET_SUBDIR/}kali-linux-$KALI_VERSION-$KALI_ARCH.$IMAGE_EXT"
else
echo "${TARGET_SUBDIR:+$TARGET_SUBDIR/}kali-linux-$KALI_VARIANT-$KALI_VERSION-$KALI_ARCH.$IMAGE_EXT"
fi
}
target_build_log() {
TARGET_IMAGE_NAME=$(target_image_name $1)
echo ${TARGET_IMAGE_NAME%.*}.log
}
default_version() {
case "$1" in
kali-*)
echo "${1#kali-}"
;;
*)
echo "$1"
;;
esac
}
failure() {
# Cleanup update-kali-menu that might stay around so that the
# build chroot can be properly unmounted
$SUDO pkill -f update-kali-menu || true
echo "Build of $KALI_DIST/$KALI_VARIANT/$KALI_ARCH live image failed (see build.log for details)" >&2
exit 2
}
run_and_log() {
if [ -n "$VERBOSE" ]; then
"$@" 2>&1 | tee -a build.log
else
"$@" >>build.log 2>&1
fi
return $?
}
. $(dirname $0)/.getopt.sh
# Parsing command line options
temp=$(getopt -o "$BUILD_OPTS_SHORT" -l "$BUILD_OPTS_LONG,get-image-path" -- "$@")
eval set -- "$temp"
while true; do
case "$1" in
-d|--distribution) KALI_DIST="$2"; shift 2; ;;
-p|--proposed-updates) OPT_pu="1"; shift 1; ;;
-a|--arch) KALI_ARCHES="${KALI_ARCHES:+$KALI_ARCHES } $2"; shift 2; ;;
-v|--verbose) VERBOSE="1"; shift 1; ;;
-s|--salt) shift; ;;
--variant) KALI_VARIANT="$2"; shift 2; ;;
--version) KALI_VERSION="$2"; shift 2; ;;
--subdir) TARGET_SUBDIR="$2"; shift 2; ;;
--get-image-path) ACTION="get-image-path"; shift 1; ;;
--) shift; break; ;;
*) echo "ERROR: Invalid command-line option: $1" >&2; exit 1; ;;
esac
done
# Set default values
KALI_ARCHES=${KALI_ARCHES:-$HOST_ARCH}
if [ -z "$KALI_VERSION" ]; then
KALI_VERSION="$(default_version $KALI_DIST)"
fi
# Check parameters
for arch in $KALI_ARCHES; do
if [ "$arch" = "$HOST_ARCH" ]; then
continue
fi
case "$HOST_ARCH/$arch" in
amd64/i386|i386/amd64)
;;
*)
echo "Can't build $arch image on $HOST_ARCH system." >&2
exit 1
;;
esac
done
if [ ! -d "$(dirname $0)/kali-config/variant-$KALI_VARIANT" ]; then
echo "ERROR: Unknown variant of Kali configuration: $KALI_VARIANT" >&2
fi
# Build parameters for lb config
KALI_CONFIG_OPTS="--distribution $KALI_DIST -- --variant $KALI_VARIANT"
if [ -n "$OPT_pu" ]; then
KALI_CONFIG_OPTS="$KALI_CONFIG_OPTS --proposed-updates"
KALI_DIST="$KALI_DIST+pu"
fi
# Set sane PATH (cron seems to lack /sbin/ dirs)
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Either we use a git checkout of live-build
# export LIVE_BUILD=/srv/cdimage.kali.org/live/live-build
# Or we ensure we have proper version installed
ver_live_build=$(dpkg-query -f '${Version}' -W live-build)
if dpkg --compare-versions "$ver_live_build" lt 1:20151215kali1; then
echo "ERROR: You need live-build (>= 1:20151215kali1), you have $ver_live_build" >&2
exit 1
fi
# Check we have a good debootstrap
#ver_debootstrap=$(dpkg-query -f '${Version}' -W debootstrap)
#if dpkg --compare-versions "$ver_debootstrap" lt "1.0.97"; then
# if ! echo "$ver_debootstrap" | grep -q kali; then
# echo "ERROR: You need debootstrap >= 1.0.97 (or a Kali patched debootstrap). Your current version: $ver_debootstrap" >&2
# exit 1
# fi
#fi
# We need root rights at some point
if [ "$(whoami)" != "root" ]; then
if ! which $SUDO >/dev/null; then
echo "ERROR: $0 is not run as root and $SUDO is not available" >&2
exit 1
fi
else
SUDO="" # We're already root
fi
if [ "$ACTION" = "get-image-path" ]; then
for KALI_ARCH in $KALI_ARCHES; do
echo $(target_image_name $KALI_ARCH)
done
exit 0
fi
cd $(dirname $0)
mkdir -p $TARGET_DIR/$TARGET_SUBDIR
for KALI_ARCH in $KALI_ARCHES; do
IMAGE_NAME="$(image_name $KALI_ARCH)"
set +e
: > build.log
run_and_log $SUDO lb clean --purge
[ $? -eq 0 ] || failure
run_and_log lb config -a $KALI_ARCH $KALI_CONFIG_OPTS "$@"
[ $? -eq 0 ] || failure
run_and_log $SUDO lb build
if [ $? -ne 0 ] || [ ! -e $IMAGE_NAME ]; then
failure
fi
set -e
mv -f $IMAGE_NAME $TARGET_DIR/$(target_image_name $KALI_ARCH)
mv -f build.log $TARGET_DIR/$(target_build_log $KALI_ARCH)
done

View file

@ -0,0 +1 @@
build.sh

View file

@ -0,0 +1,62 @@
set default=0
loadfont $prefix/dejavu-bold-16.pf2
loadfont $prefix/dejavu-bold-14.pf2
loadfont $prefix/unicode.pf2
set gfxmode=auto
insmod all_video
insmod gfxterm
insmod png
set color_normal=light-gray/black
set color_highlight=white/black
if [ -e /isolinux/splash.png ]; then
# binary_syslinux modifies the theme file to point to the correct
# background picture
set theme=/boot/grub/live-theme/theme.txt
elif [ -e /boot/grub/splash.png ]; then
set theme=/boot/grub/live-theme/theme.txt
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
terminal_output gfxterm
insmod play
play 960 440 1 0 4 440 1
# Live boot
LINUX_LIVE
menuentry "Live system (forensic mode)" {
linux KERNEL_LIVE APPEND_LIVE noswap noautomount
initrd INITRD_LIVE
}
menuentry "Live system (persistence, check kali.org/prst)" {
linux KERNEL_LIVE APPEND_LIVE persistence
initrd INITRD_LIVE
}
menuentry "Live system (encrypted persistence, check kali.org/prst)" {
linux KERNEL_LIVE APPEND_LIVE persistent=cryptsetup persistence-encryption=luks persistence
initrd INITRD_LIVE
}
# Installer (if any)
LINUX_INSTALL
menuentry "Start installer with speech synthesis" {
linux KERNEL_GI speakup.synth=soft APPEND_GI
initrd INITRD_GI
}
submenu 'Advanced options...' {
# More installer entries (if any)
LINUX_ADVANCED_INSTALL
# Memtest (if any)
MEMTEST
}

View file

@ -0,0 +1,63 @@
desktop-image: "../splash.png"
title-color: "#ffffff"
title-font: "DejaVu Sans Bold 16"
title-text: ""
message-font: "Unifont Regular 16"
terminal-font: "Unifont Regular 16"
#help bar at the bottom
+ label {
top = 100%-50
left = 0
width = 100%
height = 20
text = "@KEYMAP_SHORT@"
align = "center"
color = "#ffffff"
font = "DejaVu Sans Bold 14"
}
# Title in the middle box
+ label {
top = 38%
left = 0
width = 100%
height = 35
align = "center"
color = "#ffffff"
text = "Kali Linux Live Boot Menu"
font = "DejaVu Sans Bold 16"
}
#boot menu
+ boot_menu {
left = 13%
width = 74%
top = 38%+35
height = 170
item_color = "#a8a8a8"
item_font = "DejaVu Sans Bold 14"
selected_item_color= "#ffffff"
selected_item_font = "DejaVu Sans Bold 14"
item_height = 16
item_padding = 0
item_spacing = 4
icon_width = 0
icon_heigh = 0
item_icon_space = 0
}
#progress bar
+ progress_bar {
id = "__timeout__"
left = 13%
top = 100%-80
height = 16
width = 74%
font = "DejaVu Sans Bold 14"
text_color = "#000000"
fg_color = "#ffffff"
bg_color = "#a8a8a8"
border_color = "#ffffff"
text = "@TIMEOUT_NOTIFICATION_LONG@"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View file

@ -0,0 +1,15 @@
#!/bin/sh
if [ ! -d isolinux ]; then
cd binary
fi
cat >>isolinux/install.cfg <<END
label installspk
menu label Install with ^speech synthesis
linux /install/gtk/vmlinuz
initrd /install/gtk/initrd.gz
append video=vesa:ywrap,mtrr vga=788 speakup.synth=soft -- quiet
END

View file

@ -0,0 +1,15 @@
#!/bin/sh
if [ ! -d isolinux ]; then
cd binary
fi
cat >>isolinux/live.cfg <<END
label live-forensic
menu label Live (^forensic mode)
linux /live/vmlinuz
initrd /live/initrd.img
append boot=live username=kali hostname=kali noswap noautomount
END

View file

@ -0,0 +1,46 @@
#!/bin/sh
# Handle systems where /lib is not merged in /usr/lib
if [ ! -h /lib ]; then
mv /usr/lib/live/config/* /lib/live/config/
fi
# Manually enabling pulseaudio for root since autospawning does
# not work for root
# See https://bugs.kali.org/view.php?id=2392
systemctl --user enable pulseaudio.service || true
# Enable cryptsetup in the initramfs for later use if the user
# adds an encrypted persistence partition.
# This is until https://bugs.debian.org/908220 has a proper fix.
if [ -e /etc/cryptsetup-initramfs/conf-hook ]; then
if grep -q '^#CRYPTSETUP=' /etc/cryptsetup-initramfs/conf-hook; then
sed -i -e 's/^#CRYPTSETUP=.*/CRYPTSETUP=y/' /etc/cryptsetup-initramfs/conf-hook
else
echo "CRYPTSETUP=y" >>/etc/cryptsetup-initramfs/conf-hook
fi
fi
# Disable the udev rules renaming the network interfaces (can also be
# achieved with kernel command line net.ifnames=0 but we don't have a nice
# way to set it on the installed system)
mkdir -p /etc/systemd/network /etc/udev/rules.d
ln -sf /dev/null /etc/systemd/network/90-mac-for-usb.link
ln -sf /dev/null /etc/systemd/network/99-default.link
echo > /etc/udev/rules.d/73-special-net-names.rules
# Rebuild the initramfs to include the last two changes (cryptsetup,
# network device)
update-initramfs -u
# Run updatedb to initialize the database for the locate command
if [ -x "$(which updatedb 2>/dev/null)" ]; then
updatedb
fi
# Mark kernel related packages on hold so that they are not upgraded in
# the live system
for pkg in $(dpkg-query -W -f'${binary:Package}\n' 'linux-image-*' 'linux-headers-*' 'linux-kbuild-*')
do
apt-mark hold $pkg
done

View file

@ -0,0 +1,22 @@
#!/bin/sh
if [ ! -d isolinux ]; then
cd binary
fi
cat >>isolinux/live.cfg <<END
label live-persistence
menu label ^Live USB Persistence (check kali.org/prst)
linux /live/vmlinuz
initrd /live/initrd.img
append boot=live username=kali hostname=kali persistence
label live-encrypted-persistence
menu label ^Live USB Encrypted Persistence (check kali.org/prst)
linux /live/vmlinuz
initrd /live/initrd.img
append boot=live persistent=cryptsetup persistence-encryption=luks username=kali hostname=kali persistence
END

View file

@ -0,0 +1,22 @@
#!/bin/sh
kali_menu_version=$(dpkg-query -W -f'${Version}\n' kali-menu)
kali_menu_pidfile="/var/lock/kali-menu"
# Wait until update-kali-menu is over
if dpkg --compare-versions "$kali_menu_version" ge 2015.3.0; then
# This version puts the PID in its lock file
if [ -s $kali_menu_pidfile ]; then
pid=$(cat $kali_menu_pidfile)
while [ -n "$pid" ] && [ -e /proc/$pid ]; do
echo "Sleeping 10 seconds as update-kali-menu is still running (pid $pid)..."
sleep 10
done
fi
else
# This version lacks PID info, we match on process name instead
while pgrep -f update-kali-menu >/dev/null; do
echo "Sleeping 10 seconds as update-kali-menu is still running..."
sleep 10
done
fi

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View file

@ -0,0 +1,18 @@
menu background splash.png
menu color title * #FFFFFFFF *
menu color border * #00000000 #00000000 none
menu color sel * #ffffffff #76a1d0ff *
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg * #ffffffff #00000000 *
menu color help 37;40 #ffdddd00 #00000000 none
menu vshift 10
menu hshift 4
menu width 70
menu margin 5
menu rows 10
menu helpmsgrow 15
# The command line must be at least one line from the bottom.
menu cmdlinerow 16
menu timeoutrow 16
menu tabmsgrow 18
menu tabmsg Press ENTER to boot or TAB to edit a menu entry

View file

@ -0,0 +1,110 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi
# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi

View file

@ -0,0 +1,4 @@
#!/bin/sh
# Set "kali" as password for the user kali
usermod -p 'AqLUsDitNnTsw' kali

Some files were not shown because too many files have changed in this diff Show more