Яндекс.Метрика
    Поиск по тегу

    HaxTor


    Найдено: 1 запись

    Песочница

    HaxTor — проходим «разогрев» и получаем бесплатный шелл

    Здравствуйте!
    Сегодня я хочу поговорить с вами о таком ресурсе, как HaxTor. Этот сайт сделан специально для того, чтобы его взламывали, это грубо говоря :) В нем содержатся 5 разогревочных уровней, которые можно пройти и получить себе бесплатный шелл на 2 Гб (по крайней мере это было при тех временах, когда я его получал, сейчас не уверен :)) Затем, после разогрева, можно продолжить усовершенствовать и проверять свои навыки в разных областях ИТ. Вот приведу список заданий, которые дают после разогрева:
    Level 1. Make a nasa.gov URL display a text of my choice
    Level 2. debfKNH1AvtBo deGH9Aq./kiSY denjFRfA8kzL2
    Level 3. Recognize
    Level 4. IP address is 72.14.221.104. What contains 'art' that points to it?
    Level 5. Password is the owl's name
    Level 6. Let's see you do some easy SQL ninjitsu
    Level 7. snifflog.txt — ngrep format
    Level 8. Password is on a picture: not available from anywhere
    Level 9. Elementary Maths
    Level 10. A poem
    Level 11. As simple as hashing a string
    Level 12. Ultra Turing
    Level 13. PHP with source — needs exploiting and/or o-o-t-b thinking
    Level 14. Recognize #2
    Level 15. download.com's uptime
    Level 16. root:hsmfs;g@10.0.0.5
    Level 17. Feed me!
    Level 18. Find all usernames
    Level 19. red+blue+green =?
    Level 20. Recognize #3
    Level 21. Backdoor on a suspended domain
    Level 22. MS-Word
    Level 23. Too easy
    Level 24. Defense Intelligence Agency
    Level 25. BitNinja
    Level 26. PHP filemanager with source — needs more exploit
    Level 27. The photo doesn't load
    Level 28. telnet://hax.tor.hu:1800 — Google Word Game
    Level 29. Circumvent PHP filters for XSS
    Level 30. Create the given image using a number
    Level 31. Find all usernames v2.0
    Level 32. Exploit file2image.php
    Level 33. Defense Information Systems Agency — 209.22.99.66
    Level 34. Password is in the image
    Level 35. Follow the pattern
    Level 36. Root password needed
    Level 37. password = f(200)
    Level 38. Name the malware
    Level 39. China Science And Technology Network
    Level 40. I can has satellite?
    Level 41. Poem vs PHP
    Level 42. Criminal Minds FBI haxor scene
    Level 43. CNN's router
    Level 44. Blind SQL injection
    Level 45. Frogs n Toads
    Level 46. Seizure!!!
    Level 47. Backdoor is listening on host — find it
    Level 48. .htaccess editor vs basic auth
    Level 49. Forged DNS from the CIA
    Level 50. No info


    Теперь начнем работу над получением шелла ;)

    1-ое задание
    Здесь вас просят ввести пароль, который по заверениям подсказки находится в исходниках. Давайте посмотрим в исходный код страницы. Проанализировал HTML-код формы, мы узнаем какая функция вызывается при нажатии на кнопку GO:
    
    <form method="GET" action="/warmup1/" name="lf" onSubmit="a(); return false;">
    				Password: <input name="pw" class="input">
    				<input type="button" class="button" value="Go" onClick="a()">
    			</form>

    Видим что вызывается функция по имени «а». Давайте же посмотрим наш исходный код, в надежде увидеть эту функцию. Есть, мы ее находим в самом конце исходного кода:
    
    function a(){
    	thepw = 'warmup1';
    	thepw = thepw+'lol';
    	thepw = thepw + 'copter';
    	if (document.lf.pw.value==thepw) {
    		document.location = '/'+thepw; } else { alert('That is not correct. Please try again.');
    	}
    }
    

    Судим по коду и узнаем, что пароль хранится в строке thepw. Получаем при конкатенации строк вот такой пароль: warmup1lolcopter. Вбиваем его в поле и нажимаем Go. Переходим на следующий уровень.

    2-ое задание
    Сейчас этот эпизод не работает, поэтому можно просто вбить fail и нажать Go :)

    3-ое задание
    Здесь нужно выбрать со списка элемент Bacon, которого нету в этом списке. Как же его выбрать? Та очень просто. Заходим в исходный код страницы и видим строки:
    
    <form method="POST" action="/warmup3/" name="lf">
    				<input type="hidden" name="crypt_key" value="d719b8adfc6e3841ffc856d52abc5fb9">
    				<select name="chosen" class="select">
    					<option value="Apple">Apple</option>
    					<option value="Lemon">Lemon</option>
    					<option value="Mango">Mango</option>
    					<option value="Orange">Orange</option>
    				</select>
    				<input type="submit" class="button" value="Proceed">
    			</form>
    

    Из исходника мы видим, что имя переменной, которая передается на сервер «chosen». Именно в этой переменной и передается выбранный нами элемент в списке. Давайте же попробуем передать бекон через глобальные переменные. Составляем запрос: ?chosen=Bacon. Добавляем его к нашей странице. Получаем вот такой запрос: hax.tor.hu/warmup3/?chosen=Bacon. Нажимаем Enter и переходим на следующий уровень :)

    4-ое задание
    Здесь нам предлагают перейти на страничку с паролем, но при переходе почему-то вылетает вот это: This browser is banned: Opera/9.80 (X11; Linux i686; U; ru) Presto/2.9.168 Version/11.50. Что же делать в этом случае? В этом случае тоже все очень просто. Можно решить двумя способами: первый — это через телнет, а второй через локальный веб-сервер и PHP. Я выбрал второй способ, так как с запросами GET и HTTP не особо знаком. Если у вас стоит Linux и NetBeans, настроен Apache на локальном сервере и настроен PHP, то это не будет проблемой ;) Заходим в NetBeans (или любой другой редактор, это ваши вкусы и предпочтения) и пишем такой код:
    
    <?php
    echo file_get_contents('http://hax.tor.hu/pwfor4/index.php');
    ?>
    

    Вбиваем в адресную строку localhost и видим текст: The password is: spaceship. Заходим в хакстор и вбиваем в поле spaceship. Переходим на следующий уровень :)

    5-ое задание и последнее для получения шелла :)
    Здесь нам дан хеш пароля, и нам нужно его расшифровать. Я же сразу в тупую кинул его в John Ripper, но ничего в ответ не получил. Начал анализировать этот хеш и пришел к выводу что каждая четная позиция этого хеша не изменяется при соблюдении количества символов и меняется при их изменении. Начал подставлять разные символы, каждый раз увеличивая длину пароля на единицу, и наконец-то я нашел совпадение этих позиций при длине пароля в 5 символов:
    Исходный хеш: 83 230 69 128 66 214 89 24 92 204
    Хеш моего пароля 12345: 6 230 5 128 4 214 3 24 2 204
    Значит каждая нечетная позиция означала сам код символа. Начал изучать таблицы ASCII, UTF и прочие таблицы. Перебрал все совпадения с таблицей и ничего не получилось. Тогда я заметил, что если идти по алфавиту, то и сам код будет возрастать на единицу или спадать. Тогда я начал делать вручную «тупой» подбор пароля, подбираясь все ближе и ближе к самому паролю :) В итоге я попал на слово "drunk". Его хеш полностью отвечал исходному хешу и меня пропустило на страницу регистрации :)

    После регистрации вы получаете данные доступа к своему аккаунту, что позволяет вам решать дальнейшие головоломки и управлять своим бесплатным шеллом :)