55 lines
1.6 KiB
Bash
Executable File
55 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
###############################################################################
|
|
# Copyright 2009-2016, Way to the Web Limited
|
|
# URL: http://www.configserver.com
|
|
# Email: sales@waytotheweb.com
|
|
###############################################################################
|
|
# Experimental procedure to create a chroot environment for script decoding
|
|
|
|
DESTDIR="/home/cxschroot"
|
|
|
|
echo -n "Preparing chroot environment..."
|
|
mkdir -p $DESTDIR/sys
|
|
mkdir -p $DESTDIR/proc
|
|
mkdir -p $DESTDIR/dev
|
|
mkdir -p $DESTDIR/etc
|
|
mkdir -p $DESTDIR/tmp
|
|
mkdir -p $DESTDIR/lib
|
|
mkdir -p $DESTDIR/lib64
|
|
cp /lib/libgcc* $DESTDIR/lib/
|
|
if [ -d "/lib64/" ]; then
|
|
cp /lib64/libgcc* $DESTDIR/lib64/
|
|
fi
|
|
echo "DONE"
|
|
|
|
echo -n "Copying files..."
|
|
for prog in /bin/bash /bin/ls /usr/bin/id /usr/local/bin/php /usr/bin/php; do
|
|
if [ -e $prog ]; then
|
|
mkdir -p $DESTDIR/`dirname $prog`
|
|
cp $prog $DESTDIR/$prog
|
|
|
|
for lib in `ldd $prog |sed -rn 's/[^\/]*(.*\/lib.*\/[^ ]*).*/\1/gp'`; do
|
|
mkdir -p $DESTDIR/`dirname $lib`
|
|
cp $lib $DESTDIR/$lib
|
|
done
|
|
fi
|
|
done
|
|
echo "DONE"
|
|
|
|
echo "Adding cxschroot user..."
|
|
useradd -M -s /bin/false cxschroot
|
|
chown cxschroot:cxschroot $DESTDIR/tmp
|
|
echo "DONE"
|
|
|
|
echo "Block outgoing connections by cxschroot in csf..."
|
|
echo '#!/bin/bash
|
|
/sbin/iptables -I OUTPUT -m owner --uid-owner cxschroot -j DROP
|
|
' >> /etc/csf/csfpost.sh
|
|
chmod +x /etc/csf/csfpost.sh
|
|
/sbin/iptables -I OUTPUT -m owner --uid-owner cxschroot -j DROP
|
|
echo "DONE"
|
|
echo
|
|
echo "You should now be able to use : cxs --chroot /home/cxschroot --chuser cxschroot ..."
|
|
echo "You can test the chroot environment using: cxs --chroot /home/cxschroot --chuser cxschroot --chtest"
|
|
echo
|