본문 바로가기

IT

(192)
해시(hash) vs 암호화(encryption) 해시(hash)란? 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시의 대표적인 종류로는 MD5, SHA 계역 해쉬함수가 있으며 비암호적 해시함수로는 CRC32등이 있다. 해시변환 테스트를 원하면 구글에 'online hash' 키워드로 접근하면 쉽게 찾을 수 있다. 이제 해시 함수의 특징에 대해 알아보자. 1). 단방향성 - 예를들어, 바나나 우유가 해시라고 한다면 바나나는 원래의 정보이다. 바나나(원래의 정보)를 믹서기에 갈아서 바나나 우유(해시)를 만들면 다시 바나나로 만들기는 거의 불가능하다. 이처럼 얻어진 결과값(해시)을 가지고 원래의 정보를 알아내기란 현재의 컴퓨터 기술로는 매우 어렵다. 따라서 해시는 password로 많이 사용된다. 본인외에는 해시값을 모른..
Satana Ransomware Analysis Summary(Sanata Ransomware Time table) Symptoms of compromise # 위와같이 돈을 요구하는메시지박스와 바탕화면에는 !satana!.txt 및 바탕화면에있던 파일이 암호화되었다. # satana.exe를 실행했던 폴더에는 satana.exe파일이 사라지고, !sanata!.txt가 생겼다. # 여기저기 확인해보니 모든 폴더에 !sanata!.txt가 생성되었음을 확인했다. # 또한 processhacker를 통해 강제 terminate를 안해준다면 시스템이 자동으로 reboot된다. Analysis tool 1. sysmon 2. Autoruns 3. procmon 1. sysmon 1). Process create 2). Process Terminate 2. ..
MYSQL SERVER , CLIENT 설치 방법 및 기본 쿼리 mysql server , client 설치 방법 및 기본 쿼리 1) #> yum install mysql.server.i686 // mysql과 연관된 의존성 파일 모두 설치된다. 2) #> yum list installed mysql* // 다운로드 확인 3) #>service mysqld start (mysql demon 가동) 4) #>netstat -ant // 3306port 확인. 5) #> mysql -h localhost -u root // 호스트로 localhost 유저로 root를 설정하고 시작 (localhost인 경우 -h localhost 생략 가능) 6) 암호 설정 리눅스 환경에서 .. #> mysqladmin -u root password [사용할 password] # 이제 ..
Cerber Ransomware Analysis Summary(TeslaCrypt Ransomware Time table) Cerber.exe - Process create(3892) [+]Regisrtry => KHLM\SOFTWARE\Microsoft\Cryptography\MachineGuid [+]Regisrtry => KHLM\System\CurrentControlSet\Control\ComputerName [+]File Drop(not copy): C:\Users\kimhy\Desktop\malware\Ransomware.Cerber\Cerber.exe => C:\Users\kimhy\AppData\Roaming\CondSlate.dizL [+]File Drop(not copy): C:\Users\kimhy\Desktop\malware\Ra..
PHP (GET, POST) 1. super globals 변수 php는 미리 지정된 변수가 몇가지 있다. 이것을 superglobals라고 한다. superglobals는 무조건 사용할 수 있는 글로벌 변수이다. (출처:https://thehackernews.com/2013/09/thanks-to-php-superglobal-80-websites.html) 2. GET and POST (1) GET 방식 - 클라이언트로부터의 데이터를 이름과 값이 결합된 스트링 형태로 전달한다. - 데이터가 주소 입력란에 표시되므로 최소한의 보안도 유지되지 않는다. - 데이터베이스에 대한 질의어 데이터와 같은 요청 자체를 위한 정보를 전송할 때 사용된다. - 데이터를 보낼 수 있는 양이 한정되어있다. - HTTP헤더를 통해 데이터 전달 된다. (다..
PHP PHP란?? 프로그래밍 언어의 일종이다. 원래는 동적 웹 페이지를 만들기 위해 설계되었으며 이를 구현하기 위해 PHP로 작성된 코드를 HTML소스 문서 안에 넣으면 PHP처리 기능이 있는 웹서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성한다. 근래에는 PHP코드와 HTML을 별로 파일로 분리하여 작성하는 경우가 일반적이며, PHP 또한 웹서버가 아닌 php-fpm을 통해 실행하는 경우가 늘어나고 있다. [출처:https://ko.wikipedia.org/wiki/PHP] 1. 리눅스 환경(php(실행기 설치)) 2. 소스 코드 작성 # 설치 후 다음과 같이 hello.php를 만들어보자.. 위에서 알 수 있는 것들 ! # php 코드는 태그 안에 들어 있어야 한다. PHP소스 파일외에 H..
jQuery jQuery - DOM을 내부에 감추고 보다 쉽게 웹페이지를 조작할 수 있도록 돕는 도구이다. jQuery는 오늘날 가장 인기있는 자바스크립트 라이브러리 중 하나이다. 라이브러리란 자주 사용하는 로직을 재사용할 수 있도록 고안된 소프트웨어다. jQuery의 사용법 - jQuery를 사용하기 위해서는 일단 js파일을 업로드 해야하는데, 사용하기 간편한 CDN으로 jQuery를 사용하겠다. CDN은 Content Delivery Network의 약자로 전세계에 있는 서버로부터 데이터를 가져와 사용하는 것이다. 다운로드를 하지않아도 되는 장점이 있다. https://code.jquery.com/ --> 여기서 최신버전의 소스를 다음과 같이 얻을 수 있다. # 위의 자바스크립트 코드를 다음과 같이 태그에 위치하..
(DOM)제어 대상 찾기 문서를 자바스크립트로 제어하려면 제어의 대상에 해당되는 객체를 찾는 것이 가장 먼저 할 일이다. 문서 내에서 객체를 찾는 방법은 document 객체의 메소드를 이용하는 것이다. 특정 태그에 해당되는 객체를 찾는 방법은 여러가지가 있다. 하나씩 알아보도록 하자. document.getElementsByTagName getElementsByTagName은 인자로 전달된 태그명에 해당하는 객체들을 찾아서 그 리스트를 NodeList라는 유사 배열에 담아서 반환한다. NodeList는 배열은 아니지만 length와 배열접근연산자를 사용해서 엘리먼트를 조회할 수 있다. # document(문서). get(가져온다)Elements(요소들을)ByTagName(태그네임으로)('li')(태그네임이 li인) 그리고 가져..