След дълго двумесечно обмисляне взех решение да напусна настоящата си работа.  Днес ми беше последния работен ден. До момента работех в продължение на 4 години и половина (горе долу)  мога да кажа, че за мен беше адско удоволствие и привилегия да работя с едни от най- добрите linux администратори в българия. Работих в един от най големите интернет провайдъри в южна България което ми даде ужасно много опит, стимул, жажда за нови знания както и необходимостта от такива. Дължа всичко което съм постигнал на колегите си които ми помагаха и ме насърчаваха, но идва момент когато човек се чувства не достатъчно добре. В последната 1 година спрях да обичам мястото на което живея, спрях да чувствам ония неистов хъс всеки ден да откривам новия свят и да мори мозъка ми някоя интересна главоблъсканица. Всичко започваше да става все повече и повече някаква рутина, което не е на добре.

Ужасно ми е мъчно за колегите за работата ми за обедите за ароматното кафе рано сутрин. Всичко това ще ми липсва но някои неща просто имат нужда от промяна. При мен смята, че е крайният момент за това. Надявам се че взех правилно решение в преди че на настоящото ми място бях като скала, никои нямаше власат да ме измести от позицията в която бях. А сега започвам нещо със не коренно различна дейност но до го ляма степен по различно от това което правех. Знам че малко или много всичко е приключение, но как разбираме че сме живи. 🙂 Не може винаги на сигурно да се играе.

Стискайте ми палци и ми пожелайте късмет!

Преди няколко дни попаднах на holynix. Това е дистрибуция подготвена за хакване на базата на някое Ubuntu с инсталирани apache + mysl + php и някаква страничка. Целта е да се експлоитнат стартираните апликации и услуги да се достигне до root права. Сега няма да описвам как се чупят услугите и апликациите а как се решава проблема с не стартираща се мрежа. При мен използвах virtualbox за да си стартирам holynix  v1. Пускам си аз имиджа и гледма за ново устройство в мрежата ми – реших да го направя като хората да не знам кое е IP-то за екплойтване, ама не намерих такова. Рестартирах и махнах тихото стартиране и видях, че по време на стартиране на мрежата реве, че няма /var/run/network/ifstate. Решението е елементарно трябва при стартиране на мрежата да се провери дали съществуват съответната директория и ако не да се зaдаде и същото за файлът. Това е тривиална операция в /etc/init.d/networking в началото на функцията start се добавят следните 2 реда


[ -d /var/run/network ] || mkdir /var/run/network
[ -f /var/run/network/ifstate ] || touch /var/run/network/ifstate

Това добре ясно е решението обаче нямаме парола за root потребителя 😀 Сега следва забавната част и първия ни hack 😉 За да се вземе root потребител в grub менюто трябва да направим малко магии. Трябва да натиснем esc бързо преди непосредствено стартиране на системата ще се покаже менюто. След това с Е влизаме в режим на редактиране на менюто в kernel частта накрая добавяме init=/bin/bash и променяме ro на rw за да може файловата система да ни е с права за писане при монтирането след като вземе root shell-a.

След това поправяме файлът за мрежовите интерфейси. Трябва да променим /etc/network/interfaces да се вдига eht1 и да взима по dhcp настройки за мрежата.  Защото по подразбиране търси eth0 а ние имаме ново устройство което ще се инициализира с eth1. Рестартирате и вече трябва да имато ново устройство в мрежата си.

ps Малка подсказка за да пробиете login частта в полето за паролата има sql injection 😉 Приятно хахорване

ps 2 При мен съм ползвал VirtualBox за визуализация в bridge mode за мрежата.

Enhanced by Zemanta

Около половин година след последния ми анонс по Dreambox monitoring ситестемата ми мога да анонсирам новата и вероятно някоя от последните си версии на Nuki. Версията беше готова още преди  2 месеца но къде от мързел къде заради дебъгване нещата се позабавиха с анонса. От няколко дни работи на 32 dreambox 500-s и общо взето резултатите са много добри. Промените са много – премахната е идиотската звисимост от Linux server на които да се прехвърлят логовете – вече е необходимо да имате apache + php, защото новата система за писане на логове е като се подава параметри към един php скрипт на сървъра. Отделно съм променил скрипта да работи и без сървърна част – ако имате малко сателитни приемници не е смислено да имате постоянно пуснат сървър от които да се взима инфото затова може да се нанесе хардкоднато в скрипта с 2 променливи информацията за CAM-а. Също така съм декларирал допълнителна променлива за debug – ако не искате няма да ви мята логове – отново малоумен пропуск в сравнение с преди 🙂 Леки поправики по кода бяха напревени, че приличаше като писан от полуграмотен олигофрен (не че несъм де). Остране ни бяха 2 критични грешки в кода водещи до прекратяване на работа на скрипта в някакъв случаен момент, отново олигофренски пропуски от моя страна. Общо взето писането не беше много просто трябваше да се помисли да се направи като хората, че busybox и ash не са най лесни неща за опитомяване. Тоя път мисля да спестя голямата тирада с кода и направо да обясня променливите коя за какво е и какви манипулации могат да се направят с нея (новите) 🙂


SERVER="192.168.100.1"
 STANDALONE="FALSE" #using like stand alone app no server side depends ; )
 HCAM1="" ## if starting like stand alone app give me CAM namezzz if HCAM1 is empty its means chanel is free
 HCAM2="" ## CAM2 name
 PORT="666" # port rockzzz : D : )))))))))))))))))
 IP=$(ifconfig eth0 | grep inet | awk '{print $2}' | sed -e 's@addr:@@')
 FILE='/tmp/debug'
 INFO='/tmp/info_file'
 NC=$(which nc)
 WGET=$(which wget)
 MAX_DAYS="10"
 TIMEOUT="600"
 MAX=70 #max cpu usage per process
DEBUGING="TRUE" #if u wanna script send debug information set DEBUGING to TRUE if SEVERLESS is set to true this var will be skiped
 NEWDBGSTYLE="TRUE" #debuging new style sending info to apache derectly, old style using nc

Така очевидно имената на променливити говорят сами за себе си достатъчно но все пак и аз да кажа някоя и друга умна дума.

STANDALONE е една от най важните променливи ако е сетната на TRUE няма да се правят обръщения към сървъра и няма да изисква вече зависимост от сървър ако я използвате трябва да сложите стойности и на следната HCAM1 (незнам защо съм я кръстил така не помня вече но няма и значение). Ако няма стоиност в нея а скритпа е самостоятелен скрипта приема че ще работи на некриптиран канал и няма прави проверка за декриптиращ модул, ако има ще провери според зададената стоиност. HCAM2 е незадължителна ако декодиращия ви модул използва само 1 процес да речем CCcam например.

DEBUGING втората интересна променлива ще ви прлюе информация или ще пази мълчание според зависи каква стойност сте забили. Авотматично преминава в тих режи ако STANDALONE е TRUE

NEWDBGSTYLE трата важна променлива. Тя определя как ще се прехвърлят логовете към сървъра. Ако е TRUE ще е по новия начин без идиостката зависимост от netcat. Ако все пак си държите на стария метод слагате FALSE. В общи линии това са нещата на които трябва да наблегнете но мисля, че промените въпреки че са кардинални ще останат една идея прозрачни заради зададените стойности по подразбиране 🙂

Определено вече съм много доволен как се получиха нещата – скрипта стана достатъчно гъвкав отпднаха идиотките зависимост на допълнителни файлове за функции както и вече отпдна и зависимост на nc мисля или пък нуждата от сървър и прочие не всеки ползва 30+ box-a че да има и сървър или пък може да има само някакъв домаше router. Все още има какво да се подобри но засега мисля да се въздържам от таквиа неща защото не е наложително 🙂

Файловете както обикновено се намират в директорията  а крипта за въвеждане на логовете може да свалите от тук

И по случай добрия скрипт едно ускорено парче за всички ускорители 😀

Enhanced by Zemanta